約 5,016,969 件
https://w.atwiki.jp/outrun2wc/pages/21.html
2回戦第1試合レグ1 対戦結果 第2試合レグ1 レグ2 対戦結果 第3試合レグ1 レグ2 対戦結果 第4試合レグ1 対戦結果 2回戦 第1試合 レグ1 ゴール:新15連 リザルトKEN@:13 56"664 RVI-KT:13 57"268 KEN@の勝利(-0"604) 対戦結果 ○KEN@ 1-0 RVI-KT× 第2試合 レグ1 ゴール:旧B(Metropolis) リザルトSAT.:4 21"152 ありんどう:4 28"207 SAT.の勝利(-7 055) レグ2 ゴール:新D(Milky Way) リザルトSAT.:4 17"166 ありんどう:4 23"896 SAT.の勝利(-6"730) 対戦結果 ○SAT. 2-0 ありんどう× 第3試合 レグ1 ゴール:旧A(Tulip Garden) リザルトhina:4 21"923 MON:4 22"326 hinaの勝利(-0"403) レグ2 ゴール:新E(Skyscrapers) リザルトhina.:4 22"537 MON:4 23"211 hinaの勝利(-0"674) 対戦結果 ○hina 2-0 MON× 第4試合 レグ1 ゴール:新15連 リザルトMASIRO:13 54"265 ちひろ:13 58"033 MASIROの勝利(-3"768) 対戦結果 ○MASIRO 1-0 ちひろ×
https://w.atwiki.jp/gtav/pages/2698.html
コメットS2(Comet S2) コメットS2(Comet S2)詳細データ 解説 ボディペイントの元ネタ 出現場所オフライン オンライン モデル 画像 詳細 編集中 データ 種類 メーカー 日本語 日本語訳 ドア 乗車定員 駆動 ギア スポーツカー フィスター コメットS2 彗星 2ドア 2人 RR 7速 モデル ラジオ 主な選局 洗車 ポルシェ・911 カレラS(992型) 有り - プラットフォーム カスタム カラー デフォルトホイールタイプ オンライン専用 PS4 / Xbox One / PC限定 可 メイン/サブ/インテリア/ダッシュボード スポーツ プラットフォーム 価格 割引時 オンライン専用 PS4 / Xbox One / PC $1,878,000 $1,408,500 プラットフォーム ガレージ保管 オンライン専用 自宅物件ガレージ PS4 / Xbox One / PC限定 可 解説 『ロスサントス・チューナー』アップデートにて追加され、2021年7月30日に発売されたスポーツカー。 コメットの新型モデルで、コメットSRよりもさらに新しいモデル。2019年に登場した992型をモチーフにしている。 従来のコメット以上に元ネタに忠実で、ボディワークは大きく異なる。 アクティブリアウィングを搭載しているが、これまでに実装された同じ機構の車種(T20やフューリアなど)とは異なりスポイラーのカスタムが可能。 装着するパーツによって、元のアクティブリアウィングが稼働する場合としない場合がある。大きめのウィングを装着すると稼働しなくなる模様。 また、カスタムパーツの追加の灯火類は全てきちんと点灯する。 RR特有の癖の強さは健在であり、普段はアンダーステアな一方で減速時にはオーバーステアを誘発しやすい。 分離帯の芝生などの段差にも弱いので油断できない。 ブレーキングからステア操作に至るまで、丁寧なコーナーワークが求められる。無理な突っ込みは禁物。 性能を活かせばドリフト車として輝けるが、ミッションなどの普段使いには厳しい性能か。 『契約』アップデートにてカブリオレモデルが追加・実装された。 ボディペイントの元ネタ レトロストーンガード - 白のフィスターストライプ - 黒のフィスターストライプ - 白のコメットS2ストライプ - 黒のコメットS2ストライプ - 黒のフィスターグラフィック- 赤のフィスタートラックグラフィック - ガルフカラー 「Yeti」迷彩- レトロ「Redwood」- ロスマンズカラー 「STRONZO」 - マルティーニカラー 「Air Herler」(未発表) - マルティーニカラー 「RON」レーシング - ガルフカラー Shark Attack(未発表) - ロックンロールレジェンド(未発表) - サイバーパンク2077の911 宇宙戦隊リパブリカン - 決してスピードのある車ではありません。しかしこの車は、ターゲティング広告では手に入らない評判を得ています。 コメットを目にした人の反応は様々です。願い事をする人もいれば、身を隠そうと逃げ惑い、 破滅と破壊と高額な医療費を恐れる人もいます。いずれにしても、インパクトは絶大です。 (Legendary Motorsportサイト内の解説より) 出現場所 オフライン 出現しない オンライン オートショップ強盗「連邦保管庫ミッション」の準備「金庫のコード」で追跡対象として登場。連邦保管庫支配人の愛車で、カラーは青。ナンバーは「BO55 M4N」。 ホテルに到着した後は施錠せず乗り捨てられているので乗車可能。 モデル ポルシェ・911 カレラ(992) 画像 コメットSRよりあとに出ているのに性能が低いのが悲しすぎる -- 名無しさん (2021-08-11 00 41 27) 個人の感覚だけど、ハイエンドタイヤを履かせてローグリップタイヤにするとゲーム内でダントツリアルなRR車の挙動……になる気がする 某セットコルサほどじゃないけどレースシムに匹敵する荷重意識が必要になって涎が出る……… -- 名無しさん (2021-09-05 11 25 57) 低速ドリフトがものすごいしやすい (2023-03-29 00 19 38) ↑3SRは準レース仕様のGT2RS、こっちはマイルドなカレラSが元ネタだからそこは仕方ない (2023-05-20 03 12 19) コメット (2023-12-12 23 30 04) 直線が少ないレースはグロウラーより遅い気がする (2024-04-13 23 06 54) コメント
https://w.atwiki.jp/fcjack/pages/96.html
ここではいろいろなMODの簡単な紹介と評価を行っています。 Modの遊び方はコマンドラインのススメ?に記載しています。 ★マークが付いているのは個人的に楽しめたものです。 シングルプレイMOD(リリース済み) Blackhawk Down ★ Broken Arrow Mod Alpha Capucine CATALYST ★ City17 ★ Crytek Troopers ★ Fueltank Mod First Contact Planetfall Horus 9 LC Inspaiya ★ Mangoriver Matto 3 ★ Matto 4 ★ Mischief in Paradise ★ Misterious Island Naissance - Alpha Pandemie ★ Roomette Sons of the Crusades Subterfuge The Days After Part1 RoD-Mod Demo Preview Tuesday & Ark ★ Wages of Fear X-Isle Preview Alpha 街 総合変更MOD ProjectX 4.4 武器変更追加MOD Fists of Fury NewWave Mod M134 Minigun Mod グラフィック強化MOD Advanced Graphic Mod More Gore Mod 内容を変更するMODはもっとありますが面倒なので保留中です。 期待のMOD Area13 (Crymod) Delta Sector (公式サイト) Secret Project (公式サイト) FarCry Conspiracy (ModDB) Project Farcry (公式サイト) 開発が中止された大型MOD Coast Chapter 1 (公式サイト) The Cerebrus Protocol
https://w.atwiki.jp/gtavi_gta6/pages/2698.html
コメットS2(Comet S2) コメットS2(Comet S2)詳細データ 解説 ボディペイントの元ネタ 出現場所オフライン オンライン モデル 画像 詳細 編集中 データ 種類 メーカー 日本語 日本語訳 ドア 乗車定員 駆動 ギア スポーツカー フィスター コメットS2 彗星 2ドア 2人 RR 7速 モデル ラジオ 主な選局 洗車 ポルシェ・911 カレラS(992型) 有り - プラットフォーム カスタム カラー デフォルトホイールタイプ オンライン専用 PS4 / Xbox One / PC限定 可 メイン/サブ/インテリア/ダッシュボード スポーツ プラットフォーム 価格 割引時 オンライン専用 PS4 / Xbox One / PC $1,878,000 $1,408,500 プラットフォーム ガレージ保管 オンライン専用 自宅物件ガレージ PS4 / Xbox One / PC限定 可 解説 『ロスサントス・チューナー』アップデートにて追加され、2021年7月30日に発売されたスポーツカー。 コメットの最新型で、コメットSRよりもさらに新しいモデル。2019年に登場したばかりの992型をモチーフにしている。 従来のコメット以上に元ネタに忠実でほぼそのまんまと言った佇まいで、ボディワークが大きく異なる。 アクティブリアウィングを搭載しているが、これまでに実装された同じ機構の車種(T20やフューリアなど)とは異なりスポイラーのカスタムが可能。 装着するパーツによって、元のアクティブリアウィングが稼働する場合としない場合がある。大きめのウィングを装着すると稼働しなくなる模様。 また、カスタムパーツの追加の灯火類は全てきちんと点灯する。 後輪駆動リアエンジン故の挙動の癖の強さは健在で、通常時はかなりのアンダー傾向。ステアリングが固くノーズが入りにくい。 だからと言って勢いよくターンインし過ぎると、今度はオーバーステアを誘発しスピンアウトしてしまう。同様に分離帯の芝生などの段差にも弱いので油断できない。 コーナーではしっかり減速し、ハンドルは丁寧に切るよう心がけよう。無理な突っ込みは禁物。 性能を活かせばドリフト車として輝けるが、ミッションなどの普段使いには厳しい性能。 『契約』アップデートにてカブリオレモデルが追加・実装された。 ボディペイントの元ネタ レトロストーンガード - 白のフィスターストライプ - 黒のフィスターストライプ - 白のコメットS2ストライプ - 黒のコメットS2ストライプ - 黒のフィスターグラフィック- 赤のフィスタートラックグラフィック - ガルフカラー 「Yeti」迷彩- レトロ「Redwood」- ロスマンズカラー 「STRONZO」 - マルティーニカラー 「Air Herler」(未発表) - マルティーニカラー 「RON」レーシング - ガルフカラー Shark Attack(未発表) - ロックンロールレジェンド(未発表) - サイバーパンク2077の911 宇宙戦隊リパブリカン - 決してスピードのある車ではありません。しかしこの車は、ターゲティング広告では手に入らない評判を得ています。 コメットを目にした人の反応は様々です。願い事をする人もいれば、身を隠そうと逃げ惑い、 破滅と破壊と高額な医療費を恐れる人もいます。いずれにしても、インパクトは絶大です。 (Legendary Motorsportサイト内の解説より) 出現場所 オフライン 出現しない オンライン オートショップ強盗「連邦保管庫ミッション」の準備「金庫のコード」で追跡対象として登場。連邦保管庫支配人の愛車で、カラーは青。ナンバーは「BO55 M4N」。 ホテルに到着した後は施錠せず乗り捨てられているので乗車可能。 モデル ポルシェ・911 カレラ(992) 画像 コメットSRよりあとに出ているのに性能が低いのが悲しすぎる -- 名無しさん (2021-08-11 00 41 27) 個人の感覚だけど、ハイエンドタイヤを履かせてローグリップタイヤにするとゲーム内でダントツリアルなRR車の挙動……になる気がする 某セットコルサほどじゃないけどレースシムに匹敵する荷重意識が必要になって涎が出る……… -- 名無しさん (2021-09-05 11 25 57) 低速ドリフトがものすごいしやすい (2023-03-29 00 19 38) ↑3SRは準レース仕様のGT2RS、こっちはマイルドなカレラSが元ネタだからそこは仕方ない (2023-05-20 03 12 19) コメント
https://w.atwiki.jp/mini4wd_lab/pages/480.html
このノウハウはAndroidスマートフォンが対象です。 ミニ四駆のネタは出てきません。あしからず。 前置き ここではXperia A2(so-04f)をXPERIA J1 Compact化する方法について説明したいと思います。 やり方を記載する前に、なんでそもそもこんなこと(A2をJ1 Compact化する)をするのかについて触れたいと思います。 一言で言えば 「ハイスペックでコンパクトなMVNO向け端末を安く」手に入れたい、 これに尽きます。 まず、J1 CompactとA2のハード(性能)と価格についてです。 ハードはほぼ同じです。つまり性能はほぼ同等と見ることができます。 大きさは4.3インチとコンパクト。 価格はJ1 Compactが6万円程度。 A2の白ロム(未使用新品)が3万円程度です。 性能と価格について深堀します。 J1 Compactの性能については以下のリンクに記載があります。 http //weekly.ascii.jp/elem/000/000/317/317249/ Antutuベンチマークのスコアで40,000を超えます。 ちなみに、自分のJ1 Compact化したA2のスコアは42,000でした。 ↑自端末のAntutuスコアのスクリーンショット。 J1 Compact化しているので、Xperia A2の「SO-04F」ではなく「D5788」と表示されています。 一方で、このスクリーンショットからわかるように、A2と同価格帯(3万円前後)のzenfone 5のスコアは25,000程度です。 逆にスコアから端末価格を見てみると、スコア40,000以上のMVNO向け端末の価格は、5万~6万円です。 サイズも5インチ以上と、大きくなってきます。 つまり、Xperia A2はハイスペック、コンパクト、安いということになります。 次に「MVNO向け端末」であることの必要性についてです。 経験された方はわかると思うのですが、自分で白ロムを調達し、データ通信専用SIMを挿して使う場合、いくつか問題が出ます。 代表的なのがテザリング問題です。 Docomo系のSIM(OCNモバイルOneやIIJ mioなど)では、端末のSIMロック、アンロック関係なく、テザリングできなかったりします。 このような問題に対して、各個人で、端末をルート化して解決していくことになります。 好きな人には良いですが、けっこうめんどくさいですし、疲れます(私は疲れました)。 いじりすぎて、気づいたら不安定になっていたりなんてことも。 MVNO向け端末の場合、データ通信専用SIMを使うことも考慮にいれてファームが作成されているため、基本的にこのような問題は起こりません。 これがMVNO向け端末に拘る理由です。 J1 CompactはMVNO向け端末なので、そのファームはMVNO向けです。(日本語がちょっと変ですが) つまり、A2を購入し、そのA2のファームをJ1 Compactのファームで上書きしてしまえば、「ハイスペックでコンパクトなMVNO向け端末を安く」手に入れることができるわけです。 (注) J1 CompactはSIMフリー端末ですが、A2をJ1 Compact化してもSIMフリー端末にはならないようです。 A2はDOCOMOにSIMロックされたままですが、DOCOMO系のデータ通信専用SIM(OCNモバイルOneやIIJ mioなど)であれば、問題なく利用可能です。。 あと、ワンセグは使えなくなります。そもそもJ1 Compactではその機能がないので。 おサイフケータイも怪しいようです。 方法 本作業はルート化とは無縁の作業です。ルート化不要です。 ファームを入れ替えるだけの作業になります。 J1 Compact化された後もルート化はされていません。 なお、以降に記載の手順はファームのクリーンインストール手順となります。 Xperia A2のデータ等はすべて消えて初期化されますので、ご承知願います。 そして、必ずしも正しい手順とは限りません。あくまで当方が実施した手順となります。 また、以下の手順を実行することによって生じたあらゆる損害について、当方は一切の責任を負いません。 自己責任でお願いします。 1.Xperia A2(SO-04F)の入手 さて、まずはA2を手に入れないことには始まりません。 Amazonや楽天でXperia A2の白ロムを入手しましょう! Amazon 楽天 【 新品・未使用 】 白ロム 携帯電話Xperia A2 SO-04F docomo [Gary Black] 2070万画素カメラを搭載した4.3型スマートフォン 価格:32,680円(税込、送料別) 2.J1 Compactのファームの入手 (注)以降の作業はWindows7 Home Premiumで行っています。 Windows8.1ではその後の環境構築(ドライバインストール)で苦戦する模様です。 次はJ1 Compactのファームの入手です。 2.1 ファームを入手するためのソフトウェア「Xperifirm」をダウンロード http //forum.xda-developers.com/にアクセスしてXperiFirm 4.5.0をダウンロードします。 中断あたりです。 2.2 ダウンロードしたファイルを解凍して、中の「XperiFirm.exe」を実行 2.3 J1 Compactのファームをダウンロード Xperia J1 Compact/A2 - D5788 - 1294-9753 - 14.4.C.0.114 そのままdownloadをクリック 保存先を聞かれるので指定します。デスクトップで良いと思います。 ダウンロードが始まります。 2.4 ダウンロード完了 無事ダウンロードが完了すると下の画面が表示されます。 OKをクリック。 残っているウィンドウは×で閉じてOKです。 ダウンロード先に指定したフォルダ内に「D5788_Customized JP_1294-9753_14.4.C.0.114_R8C」フォルダができているはずです。 これでJ1 Compactのファームを入手できました! ・ ・ ・ 以降の手順は少しはしょっていきます。疲れましたorz すみません。 基本は下記サイトのとおりです。 http //xperia-freaks.org/2015/04/13/like-xperia-j1c/ 当方がつまづいた点等を補足する形で行きたいと思います。 3.ファーム上書き環境の準備 以降のflashtool関連作業はウイルスソフトに引っかかります。 ウイルスソフトを一時的にOFFにすることで作業を進められますが、ご自身の判断でお願いします。 3.1 flashtoolのダウンロード http //www.flashtool.net/downloads.phpからflashtoolをダウンロードします。 いろいろ怪しいですが頑張ってダウンロードします。 UsersCloudがわかりやすいかも。 3.2 flashtoolのインストール 3.3 flashmode driversのインストール C \Flashtool\divers\Flashtoo-drivers.exeを実行 「Flashmode Drivers」をチェックしてインストール OSが警告を表示しますが、進みます。 3.4 PC Companionのインストール http //www.sonymobile.co.jp/support/software/pcc/2.3/ 真ん中の「今すぐダウンロード」からダウンロードしてインストール 3.5 さらにドライバのインストール PCにXperia A2(電源OFF状態)をボリュームダウンキーを押したままUSB接続します。 (USB2.0のポートを使いました。) SOMC Flash Device~と表示されドライバがインストールされます。 ドライバインストールが終わったら、Xperia A2をPCから切り離します。 3.6 FTF作成 flashtoolを起動、Tools - Bundles - Createを選択します。 先ほどダウンロードした「D5788_Customized JP_1294-9753_14.4.C.0.114_R8C」を選択します。 Device:SO-04F Xperia A2を選択 Brandinig:sony Version:14.4.C.0.114 folder listの中を全選択して 「- 」 でFirmware contetへいれます。 Createをクリックします。 「C \Users\ user名 \.flashTool\firmwares」に「SO-04F_14.4.C.0.114_sony.ftf」が生成されます。 もし「C \Flashtool\firmwares」にあった場合は上のフォルダに移動させてください。 なお、~.torrentも同時に生成されますが、これは削除してもOKです。 これでFTFファイルが出来上がりました。 以上で環境準備は終わりです。 あとは上書きするだけです。 4.ファーム上書き いよいよ上書きします。 4.1 flashtool起動~接続まで flashtoolを起動します。 起動時に「Please move~」と表示された場合は以下のサイトが参考に対処して下さい。 http //androplus.org/Entry/278/ 雷マークをクリックします。 FlashmodeをチェックしてOKをクリックします。 SO-04F_14.4.C.0.114_sonyを選択します。 Flashをクリックします。 ※右上のWipeのAPPSLOG、CACHE、DATAはチェックしたままにします。A2のデータは消えます。 このチェックをはずした場合、起動不能になりました(ブートループ状態になりました)。 また、Excludeはすべてチェックなしです。UNKNOWN等を除外しなくても大丈夫でした。 4.2 Xperia A2の接続~上書き完了 しばらく待つと、スマホの接続を促すウィンドウが表示されます。 A2のボリュームダウンボタンを押しながらPCとUSB接続します。 (USB2.0のポートを使いました。) 緑のゲージが増えて行き、Flashing finished.が表示されて上書き完了です。 起動してD5788になっていればひとまず成功です。 お疲れ様でした。 (その他1) J1 Compact化したA2でセルスタンバイ問題が起きるかどうか確かめていません。 おきてから悲しむのもアレなんで、SMS付のSIMを購入しました。 OCNモバイルoneなら月額プラス120円でデータ通信SIMにSMS機能を追加できます。 後で対策する苦労に比べたら安いものかなと。 (その他2) ロック画面の下にNTT Docomoが表示されます。 ステータスバーを下にスワイプすると下にNTT Docomoが表示されます。 なぜなんでしょう。。。 わかる方いらっしゃいましたら教えてくださいませ。 (2015/04/26)
https://w.atwiki.jp/fo3ss/pages/22.html
最終更新:2016年11月01日) インデックス Fallout 3 DLC日本語化プロジェクト日本語化方法(FOJP)64bit OSでクラッシュする場合の対処法 OP・EDのムービーに日本語字幕を追加する方法 日本語マニュアル 図解日本語化マニュアル Fallout 3 DLC日本語化プロジェクト http //ux.getuploader.com/fo3dlc_l/ 日本語化方法(FOJP) 前置き F3DC(中華exe)より安定性の高いFOJPが開発されたので説明をFOJP日本語化に置き換えてあります。 必須ソフトのダウンロードとインストール 1.Fallout Script Extender (FOSE)のインストールFOSEをダウンロードし解凍したうちfose_loader.exe、fose_○○.dll、fose_editor_○○.dllをFallout 3のルートフォルダに置きます。参考:MOD/拡張 - Fallout 3 Wiki JP 2.Fallout Mod Manager (FOMM)のインストールFOMMをダウンロードしインストール。 参考 FalloutでMOD生活を始める下準備 - 日本語化もMOD。 日本語化手順 1.Fallout 3 DLC日本語化プロジェクトからファイルをダウンロードここでは「FO3日本語化まとめ」 を使います。 +同梱 FOJP2_v4.6.zip FOJP用VANILLA1.7.0.3日本語化[20110123].zip FOJP用5DLCs日本語化[20120302]α版.rar computers_menu v3.zip babybook日本語化.rar序盤のYou re SPECIAL!内のページの翻訳 Fallout3+日本語化キット[20090308]S氏暫定最終ver[1] .zip (内 race_sex_menu.xml)人種や髪型の選択画面の日本語表示に使用 2.解凍した「FO3日本語化まとめ」FO3_rootフォルダ配下のファイルとフォルダを、Fallout 3のルートフォルダにコピー。FOJPフォルダーのVANILLA_PlayerName.txtとVANILLA_PlayerName_jp.txt内の"[プレイヤー名]"を各自が使用している名前に置き換えてください。 3.FOMMを起動し、リストのうち、「JPPatch.esp」にチェックが入ってることを確認。入ってない場合は、チェックを入れる。 4.FOMMのTools>Archive Invalidationにチェックを入れる。(Fallout.iniに必要な更新がされる) 以上です。 Fallout 3のルートフォルダのfose_loader.exeからゲーム起動して日本語化されているかどうか確認してみてください。 場合によってはインストールが必要 基本的にはゲームのインストール時点でインストールが完了していると思われる。 「Microsoft Visual C++ 2010 再頒布可能パッケージ (x86)」 http //www.microsoft.com/downloads/details.aspx?FamilyID=a7b7a05e-6de6-4da-a423-37bf0912db84 displayLang=ja ※ 64bitOSでもx86用を使用します。これより新しいバージョンが入ってる場合はいらないと思います。 「Microsoft Core XML Services (MSXML) 6.0 」 http //www.microsoft.com/downloads/details.aspx?FamilyID=993c0bcf-3bcf-400-be21-27e85e1857b1 displayLang=ja +FO3日本語化まとめを使わずに個別に行う場合 1.まずはファイルを落としてくる まずFallout 3 DLC日本語化プロジェクトで最新のFOJPとFOJP用辞書ファイルを落としてきます。 現時点(2014.08.30)では 本体 FOJP2_v4.6.zip(v4.7.zipは人柱用) 本編用辞書 FOJP用VANILLA1.7.0.3日本語化[20110123].zip(ダウンロードパスワード fo3) DLC用辞書 FOJP用5DLCs日本語化[20120302]α版.rar です。DLC持ってない人はDLC用辞書は要りません(後からDLC導入予定なら、先に入れておいても損はありませんが)。 ※DLC用辞書は意訳でNPCの口調が特徴的になっていたりと多少違和感がありますが 内容が通じなくなる程過剰だった部分は修正されているようです 2.FOJP本体のファイルを組み立てる 全部解凍してください。基本的には各ファイルのreadmeに従って設定すれば大丈夫です。 1.fojp.xmlをFallout3.exeのある場所にコピーする。※ 2._fojp.dllを、Fallout3のフォルダの \Data \fose \plugins \_fojp.dll にコピーする 3.「VANILLAのフォント」フォルダに入っている*.fntファイルを全てFallout3のフォルダの \Data\textures\fonts にコピーする ※fojp.xmlは、最新のFOJP2_v4.6.zipの物を推奨します。(readmeのターミナルの記号を表示する書式の部分(readmeの記述だと誤解しやすい)が最初から変更してあるので) FALLOUT.INIの設定(デフォ) 場所はマイドキュメント/My Games/Fallout3/ [Fonts] sFontFile_1=Textures\Font\Glow_Monofonto_Large.fnt sFontFile_2=Textures\Font\Monofonto_Large.fnt sFontFile_3=Textures\Font\Glow_Monofonto_Medium.fnt sFontFile_4=Textures\Font\Monofonto_VeryLarge02_Dialogs2.fnt sFontFile_5=Textures\Font\Fixedsys_Comp_uniform_width.fnt sFontFile_6=Textures\Font\Glow_Monofonto_VL_dialogs.fnt sFontFile_7=Textures\Font\Baked-in_Monofonto_Large.fnt sFontFile_8=Textures\Font\Glow_Futura_Caps_Large.fnt 3.辞書を入れる 1.Fallout3.exeのある場所に本編用辞書のFOJPフォルダを貼りつけてください。 DLC入ってる人は両方のテキストをFOJPのフォルダにまとめて入れてください。 (仮に、DLCがない状態でDLC用辞書を入れた・設定したとしても不具合は起きません) 2.Data/menus/ に本編用辞書付属の“computers_menu.xml(10/11/09)”を入れてください。 FOJP本体付属の同名ファイル(11/04/19)を使うと、細かい調整の違いでターミナルの翻訳が途中で止まります。 3.ついでに中華exeのS氏暫定最終に入っている“race_sex_menu.xml ”も入れておくと容姿や髪型などのメニューも翻訳されます。 4.辞書を設定する 最初にコピーしたfojp.xmlをメモ帳で開き以下の場所に replacetext ここ→ /replacetext 本編のみの人は以下のテキストを張り付けてください file jp="FOJP/VANILA_Center_jp.txt" en="FOJP/VANILLA_Center_en.txt" align="center"/ file jp="FOJP/VANILA_Center_jp.lower.txt" en="FOJP/VANILLA_Center_en.lower.txt" align="center" priority="20"/ file jp="FOJP/VANILA_Left_jp.txt" en="FOJP/VANILLA_Left_en.txt"/ file jp="FOJP/VANILA_Left_jp.lower.txt" en="FOJP/VANILLA_Left_en.lower.txt" priority="20"/ file jp="FOJP/VANILA_Left_jp.lowest.txt" en="FOJP/VANILLA_Left_en.lowest.txt" priority="30"/ file jp="FOJP/VANILA_Right_jp.txt" en="FOJP/VANILLA_Right_en.txt" align="right"/ file jp="FOJP/VANILA_Right_jp.lower.txt" en="FOJP/VANILLA_Right_en.lower.txt" align="right" priority="20"/ file jp="FOJP/VANILA_PlayerName_jp.txt" en="FOJP/VANILLA_PlayerName_en.txt"/ 本編+DLC(GOTY版でも同じ)の人は以下のテキストを張り付けてください file jp="FOJP/VANILA_Center_jp.txt" en="FOJP/VANILLA_Center_en.txt" align="center"/ file jp="FOJP/VANILLA_Center_jp.lower.txt" en="FOJP/VANILLA_Center_en.lower.txt" align="center" priority="20"/ file jp="FOJP/VANILA_Left_jp.txt" en="FOJP/VANILLA_Left_en.txt"/ file jp="FOJP/VANILA_Left_jp.lower.txt" en="FOJP/VANILLA_Left_en.lower.txt" priority="20"/ file jp="FOJP/VANILA_Left_jp.lowest.txt" en="FOJP/VANILLA_Left_en.lowest.txt" priority="30"/ file jp="FOJP/VANILA_Right_jp.txt" en="FOJP/VANILLA_Right_en.txt" align="right"/ file jp="FOJP/VANILLA_Right_jp.lower.txt" en="FOJP/VANILLA_Right_en.lower.txt" align="right" priority="20"/ file jp="FOJP/VANILA_PlayerName_jp.txt" en="FOJP/VANILLA_PlayerName_en.txt"/ file jp="FOJP/DLC_Center_jp.txt" en="FOJP/DLCs_Center_en.txt" align="center"/ file jp="FOJP/DLC_Center_jp.lower.txt" en="FOJP/DLCs_Center_en.lower.txt" align="center" priority="20"/ file jp="FOJP/DLC_Left_jp.txt" en="FOJP/DLCs_Left_en.txt"/ file jp="FOJP/DLC_Left_jp.lower.txt" en="FOJP/DLCs_Left_en.lower.txt" priority="20"/ file jp="FOJP/DLC_Left_jp.lowest.txt" en="FOJP/DLCs_Left_en.lowest.txt" priority="30"/ を追加して保存してください ※追加でMOD用の辞書を設定する場合も上記と同様の書式で追記していきます。priority=は指定されてなければ省略で構いません。 また、中華exe用と書かれている辞書ファイルはFOJPと同形式なので問題なく使用できます。書式は上記に合わせてください。 5.最後にFOMMでJPPatch.espにチェックを入れて起動してください。(チェックしなくても大きな問題はありません) デフォだと翻訳対象の検索から漏れてしまうダイアログの一部などの細々とした部分を翻訳させるのに使われています。 (装備画面右上の 「Repair R)」→「修理する R)」など) (ターミナルがまともに翻訳されない時は、このチェックと関係ない何かで作業に失敗している時なので意味無いです) FOMMの使い方は下記リンク先を参照してください。 http //wiki.fallout3.z9.org/?MOD%2FTool%2Fallout3ModManager 6.「fojp.xml内の以下のように変更するとターミナルの記号も表示されて良いと思います。。」 本編辞書のreadmeのこの記述ですが、readmeでは本来必須である下記の赤字部分が省略されてしまっている為、 そのままコピペするとターミナルに限らずゲームの全体の翻訳が中途半端になって失敗します。 ミスを防ぐ為、本編辞書のsampleフォルダにあるfojp.xmlを修正して使うか、見本として確認するといいでしょう ※最新版のFOJP2_v4.6.zipの物は既に修正済みなので手を加える必要はありません。 変更後(ターミナルのプロンプトを表示させる) !-- 辞書翻訳時に取り除かれるプリフィックス・サフィックス -- config id="TrimPrefixRegulrExpressions" ![CDATA[^( GID[0-9]+ )]] !-- ID埋め込み -- /config config id="TrimSuffixRegularExpressions" ![CDATA[([ ]$]] /config !-- 辞書翻訳時にバイパスされるプリフィックス・サフィックス -- config id="BypassPrefixRegularExpressions" ![CDATA[^(\a-zA-Z0-9,%\$/ ]+\]|Req .*Ranks [0-9]+| .+ | ) !-- スピーチチャレンジ、スキル要求|Perks|ID埋め込み|ターミナルの記号 -- /config 余談ですが、F3DCのdllをfoseフォルダ以下に入れていると、F3DCを使っていない時でもフォントに悪影響が出ます。 クエスト開始/終了や経験値取得などの大文字フォントが小文字になる ハッキング画面が表示崩れする FOJPでターミナルの翻訳がされなくなる...等 上記のやり方を試してもまだターミナルが日本語化されなかったがArchiveInvalidation Invalidatedを導入した所、日本語化に成功した 以下手順 ファイルをダウンロード http //www.nexusmods.com/fallout3/mod/94/? 1.) First open your FALLOUT3.INI which is located in My Documents\My Games\Fallout3 and search for SArchiveList, once found add "ArchiveInvalidationInvalidated!.bsa" to the list before "Fallout - Textures.bsa". 2.) Search for bInvalidateOlderFiles and change it from 0 to 1. 5.) Save Fallout3.ini. 6.) Place ArchiveInvalidationInvalidated!.bsa into your \Fallout 3\Data\ folder. 64bit OSでクラッシュする場合の対処法 ネタ元 http //svgr.jp/my/Panzer_Hound/diaries/23481 マイDQN\My Games\Fallout3内のFallout.iniを開いて以下の様に設定を修正 bUseThreadedBlood=1(初期値は0) bUseThreadedMorpher=1(初期値は0) bUseThreadedTempEffects=1 bUseThreadedParticleSystem=1(初期値は0) bUseThreadedAI=1(初期値は0) bUseMultiThreadedFaceGen=1 bUseMultiThreadedTrees=1 iNumHavokThreads=5(初期値は1) 使用するコア数を設定。Fallout3が3コア以上に最適化されていないため設定値は2を推奨 屋外、特に室内でフリーズする人は上記のマルチスレッド化と併用を強く推奨 [General]の一番下に追記 iNumHWThread=2 OP・EDのムービーに日本語字幕を追加する方法 Fallout 3 / New Vegas日本語化スレ17 より http //anago.2ch.net/test/read.cgi/game/1330162388/322 1. BikMod Library 0.3eをDLします。http //tools.game-alive.com/forums/viewforum.php?f=4&sid=c431e28db4005654ecbe370456995a1b 2. Fo3-and-FoNV-イントロED字幕.zipをDLします。http //ux.getuploader.com/fo3dlc_t/download/416/Fo3-and-FoNV-%E3%82%A4%E3%83%B3%E3%83%88%E3%83%ADED%E5%AD%97%E5%B9%95.zip1のサイトに繋がらない場合はこちらをDLします。Fo3-and-FoNV-イントロED字幕+bikmodv0.3e.zip 3. Fallout3.exeと同じフォルダにあるbinkw32.dllを、バックアップを取ったあとにlibbinkw32.dllにリネームします。バックアップは必ず取ってください。 4. BikMod Libraryのファイルを解凍して、解凍されたbinkw32.dllとbinkw32.cfgをFallout3.exeと同じフォルダ内に配置します。 5. Fo3-and-FoNV-イントロED字幕.zipを解凍して、解凍されたFallout3フォルダ内の.srtファイルを、ゲームの方の Fallout 3/Data/Videoフォルダに配置します。 6. binkw32.cfgをテキストエディタで編集して設定してください。設定方法はReadme参照のこと。または、Fo3-and-FoNV-イントロED字幕.zip内の、ある程度設定済みのbinkw32.cfgを上書きで配置してください。version_check=1の値を0に変更すると、起動するたびにバージョンチェックされなくなり、更新の催促がなくなります。 7. 完了。ゲーム内で確認してください。各ファイル内のReadmeもよく読んでおいてください。 日本語マニュアル 以下のサイトの下の方からPS3/Xbox360版のPDF形式の日本語マニュアルをダウンロード可能です。 http //bethsoft.com/ja/games/fallout_3_goty ※追記:2016年現在消えていると思うのでInternet Archiveから発掘してみました。 PS3版/Xbox360版 図解日本語化マニュアル http //ameblo.jp/ms-sd-blog/entry-12042475373.html 日本語化の仕方を図解で簡単にまとめてみました。
https://w.atwiki.jp/wayward_jp/pages/27.html
MOD WaywardはModがサポートされていて、公式Wikiでいくつか紹介されています。 (リンクはしていませんので使用する際は公式wikiからどうぞ。公式wikiトップのSub Wikis以下Saved Game StatesページからMods pageへと行けます。) 公式wikiのModの使用法 1.当該ページにて「Download Mod」リンクを右クリックし「名前をつけて保存」で任意の場所に保存する。 またはリンクをクリックしてブラウザ上で内容を表示させてからページを右クリックして「名前をつけて保存」する。 2.Waywardを起動し、オプションメニューの「Modding」から保存したファイルを読み込む。 Modリスト Better Save/Load from File セーブ直後にリロードが必要なエラーが起こらない。 オプションではなくメインメニューにセーブボタンを追加する ロードボタンは追加ファイルのインプットではなくファイル自体を要求する。 場所ごとにきれいなファイルネームを提案する。 Opera12でもデフォルトのファイルネームであれば動作する。 ローカルストレージ全体を保存するのではなく、実際のゲームデータだけを保存する。 以前のSave/Load from File MODのデータも読み込みできる。 対応バージョン:Beta 1.6+ Save/Load from File オプションページに、ローカルファイルにセーブデータを保存/読み込みできるボタンを追加する。 このModで作成されたセーブデータも公式wikiやフォーラムで公開されている。 対応バージョン:Beta 1.4+ Show World Map Cheat ワールドマップと洞窟マップをオプションメニューのボタンで表示できるようにする。 対応バージョン:Beta 1.6+ / Free 1.9.4 +... //公式wikiのものを少しだけ改変、画面左下メニューの「Skills」の次に表示ON/OFFボタンを移動させています //バージョン1.9.4 Free版で動作確認済 - スイッチの人 $("#actionsopen").parent().append( button type="button" id="showMap" Show Map /button ); $("#showMap").css("background-color","rgb(64,64,128)"); $("#actionsopen").parent().on("click","#showMap",function(e){ if($("#map").css("display")=="block")$("#map").hide()}else{$("#map").show()} e.preventDefault() }); Tweakward かなり発展したModで、ゲームプレイの改善し磨きをかけることを試みた。完全に動作させるにはModをロードしてから新しいゲームを始める(自殺する)必要がある。今はまだ自動でロードは出来ないので、始める度にModをロードする必要がある。今後も開発が続けられる予定。 対応バージョン:Beta 1.6+ EzEdit 以下のMODを一度に導入する。 Save/Load from File Show World Map Cheat EzRenderTile EzItemGet Selective Monster Spawner 対応バージョン:Beta 1.5 Monster Party 最大100のモンスターを周囲に出現させる。スポーンするモンスターの種類はタレント値と地形に依存する(通常のスポーンと同じになる)。 対応バージョン:Beta 1.6+ Unmovable Chests Fix 岩の上や洞窟の入口などにある箱(や他の周囲のアイテム)を入手する。このModをロードするとアクセスを復活させるためにそれらのものの下に土ができる。 対応バージョン:全て? 野良Mod テキストファイルにコピペしてmodで読み込む 入れ物 containerに耐久基本値を付ける これによってrepairやreinforceが出来るようになる。 +... items.smallbag.durability = 10; items.backpack.durability = 20; items.leatherquiver.durability = 40; 値はお好みで。 苗木 「枝」から「苗木」が作れるようになる。 +... items.sapling.recipe={requires [["branch", 1, 1]],skill "botany",level "Advanced"}; for(var i = 0; i player.crafted.length; i++)if(player.crafted[i] === "sapling")player.crafted.splice(i,1); 上の苗木modを使わなくなったら再起動のあと実行しましょう。 modを使った事によって出来たちょっとしたゴミを消してくれます。 実行しなくても影響ははい(はず) たいまつ 持続ターン +... items.poletorch_lit.decayable[0] = 1000; items.barktorch_lit.decayable[0] = 4000; items.animalfattorch_lit.decayable[0] = 14000; 値はお好みで。↑は全部4倍した値 鶏 鳥肉が食べたい。羽を毟りたい。そんな貴方に +... 非推奨 for(var i=0;i 0xB;i++)for(var j=0;j 0xB;j++)spawnMonster("chicken", player.x+player.direction.x*6-5+i, player.y+player.direction.y*6-5+j); passTurn(false); 推奨 spawnMonster("chicken", player.x+player.direction.x, player.y+player.direction.y); passTurn(false); ↑の変則版、モンスター呼び出し。 モンスターと戦いたい、そんな君に……。 +... 魚類はちょっと特殊 spawnMonster("rabbit", player.x+player.direction.x, player.y+player.direction.y); passTurn(false); //spawnMonster("rabbit"の"ここに"↓の英文名を書き込むと目の前にモンスターが出現します。 //ただし、目の前に障害物や既にモンスターが存在する場合は出現しません。 //rabbit = うさぎ //slime = スライム //jellycube = ゼリーキューブ //rat = 鼠 //giantrat = 大きな鼠 //chicken = ニワトリ //harpy = ハーピー //giantspider = 大きな蜘蛛 //trapdoorspider = トラップドアスパイダー //snake = 蛇 //bear = 熊 //vampirebat = 吸血コウモリ //greywolf = グレイウルフ //imp = インプ //bogling = ボグリング //livingrock = リビングロック //zombie = ゾンビ //skeleton = スケルトン //pirateghost = パイレーツゴースト //timeskitter = タイムスキッター //fireelemental = ファイヤーエレメンタル //hobgoblin = ホブゴブリン //livingmushroom = リビングマッシュルーム //kraken = クラーケン //↓水が目の前にある場合のみ出現 //blindfish = 盲目魚 //shark = 鮫 //trout = マス 沼設置 peatを設置すると沼が出来るように +... items.peat.use = ["stokeFire", "placeTile"], items.peat.onUse = {stokeFire 4, placeTile "swamp"} 変異種 変異種.txt 黒色火薬 A.製作時、多く作る B.発砲時、耐久にダメージ 大きなミニマップ nキーで大きなミニマップを表示。 敵表示有り。txt編集で非表示に出来るようにしてる。 ver0.0.2 ver 0.0.2 地下の事を忘れていたのでその修正。 クラフティングテーブル追加 茶色い領域にアイテムを並べるとそこからクラフトします 適当にアイテムを選ばれるのが嫌な人に craftingtable_v100.js ご利用は計画的に アイテム発生Mod +... //日本語化の後に読み込むとアイテム名だけ日本語化 //二回読み込むと削除 if(document.getElementById( ItemGetMod ) === null){ $("#optionswindow").append( div id="ItemGetMod" / ); $("#ItemGetMod").append( p ItemGetMod /p select id="ItemGetMod_ItemList" size="5" / ); for(var itemType in items){ $( #ItemGetMod_ItemList ).append( option value=" + itemType + " + ItemGetMod_ItemList.length + " " + items[itemType].name + /option ); } ItemGetMod_ItemList.selectedIndex = 0; $("#ItemGetMod").append( select id = "ItemGetMod_QualityList" size="5" \ option value = "" Durability /option \ option value = "Remarkable" Remarkable /option \ option value = "Exceptional" Exceptional /option \ option value = "Legendary" Legendary /option \ option value = "Random" selected Random /option \ /select ); $("#ItemGetMod").append( button type="button" id="ItemGetMod_ItemGetButton" Get /button ); $("#ItemGetMod").on("click", #ItemGetMod_ItemGetButton , function(e) { itemGet({type ItemGetMod_ItemList.value, quality ItemGetMod_QualityList.value}); craftTable() }); } else { var delTargetElement=document.getElementById( ItemGetMod ); delTargetElement.parentNode.removeChild(delTargetElement); } チェンジタイル タイルのパターンはセーブされないので悪しからず +... //チェンジタイル //タイルのパターンはセーブされないので悪しからず //二回読み込むと削除 if(document.getElementById( ChangeTileMod ) === null){ $("#optionswindow").append( div id="ChangeTileMod" / ); $("#ChangeTileMod").append( p ChangeTileMod /p ); $("#ChangeTileMod").append( select id="ChangeTileMod_TileList" size="5" / ); for(var TileType in tiletypes){ $( #ChangeTileMod_TileList ).append( option value=" + TileType + " + ChangeTileMod_TileList.length + " " + tiletypes[TileType].name + /option ); } ChangeTileMod_TileList.selectedIndex = 0; $("#ChangeTileMod").append( select id="ChangeTileMod_PatternList" size="5" / ); $("#ChangeTileMod_PatternList").append( option value="0" 0 /option ); $("#ChangeTileMod_PatternList").append( option value="1" 1 /option ); $("#ChangeTileMod_PatternList").append( option value="2" 2 /option ); $("#ChangeTileMod_PatternList").append( option value="Random" selected Random /option ); $("#ChangeTileMod").append( button type="button" id="ChangeTileMod_ChangeTileButton" Change /button ); $("#ChangeTileMod").on("click", #ChangeTileMod_ChangeTileButton , function(e) { changeTile({type ChangeTileMod_TileList.value}, player.x + player.direction.x, player.y + player.direction.y, false); if(ChangeTileMod_PatternList.value == "Random"){ tile[player.x + player.direction.x][player.y + player.direction.y].gfx = Math.floor(Math.random() * 3); } else { tile[player.x + player.direction.x][player.y + player.direction.y].gfx = ChangeTileMod_PatternList.value; } passTurn(false); }); } else { var delTargetElement=document.getElementById( ChangeTileMod ); delTargetElement.parentNode.removeChild(delTargetElement); } ・いろいろスイッチ&インベントリエディタ&技術情報 ※ゲームバランス崩壊待ったなし +... //いろいろスイッチ version 0.12c //=== スイッチ類説明 === //◆ボタン群 (押す度に発動) //[Health][Stamina][FOOD][WATER]それぞれライフ・スタミナ・満腹度・水分全快 //[Bad]毒・やけど・切り傷回復 //[HPSTBAD]ライフ・スタミナ・状態異常全快(満腹度・水分は以外) //[All]上記全て全快 //[converge map]インベントリ内の全てのボロボロの地図の目的場所を自分の足元へ(コンテナ・カバン内のものは除外) //[Find Drop]落ちているアイテムを近い順にログに表示 //[Find Placed]設置されているアイテムを近い順にログに表示 //[Find Ore]木の実、鉱物、沼地、灰、雪などの資源を近い順にログに表示 //※地上にいるときは地下のものは表示されません、また地下にいるときは地上のものは表示されません //※検索結果表示数の初期値は10です // mod_recover_saveData.findCount = 20 // と入力すると表示数が20件に変更されます、緑色のsaveボタンを押した時点での値が保存されます //[soundBuff Clear]予約済みのサウンドエフェクトを全て削除します //[invClean]現在持っているアイテムの最大ID以降の未使用領域を消去します //メインで所持するもの以外を全てカバンやチェストに保管することで最大の効果を得ることができます //上記2つとメッセージウィンドウ下部の[Clear Messages]ボタンを押すことで長時間プレイ時の処理の重さを低減します //◆スイッチ群 (押すと有効、もう一度押すと無効) //[AutoRecover]ライフとスタミナが常に全快状態 //[AlwaysDaylight]常に昼、洞窟内も昼 //[Ignore Weight]重さ超過を無視 //[fresh sea]海水を淡水に(水袋・ガラス瓶で海を整地可能)、地下エリアの暗闇部分を砂利に //[Skillgrow]スキル上昇判定時に必ずスキル経験上昇・スキル100%キャップ解除 //[Delay cut]行動待ち時間をスキップ(オプションの「Smooth Movement/動作を滑らかにする」をONにしていると効果無し) //[SpeedCraft]製作待ち時間をスキップ //[Dig100%]必ず掘れる、対象のマスを掘った時に取得できる可能性があるアイテムを全て取得する //[infinityGun]saltpeter(硝石)無しで銃が撃てる、銃弾は別途必要 //[Map100%]瓶入りの手紙を開けると必ず宝の地図が出る //[holeySkin]holey(穴あき)、空の水袋で淡水を汲んでも水が満たされない、海水は汲める //[dropAllExtend]深い淡水・深い海水に向かってアイテムを「全て置く」と、まとめて捨てます(コンテナ・カバン・装備中・QuickSlot内は除外) // 地面に置く場合も、装備中・QuickSlotのアイテムは除外します //[pickupAll]踏んだら全部拾う //[MultiCreate]ボタンはクラフトテーブルの上に生成されます、1クリックで素材が続く限り同じアイテムを作成します、HP減少時に中断します //[taintFree]耐久減少と腐敗を無くす //[autoCarve]死体を踏んで、移動するときに足元にある死体と血痕を全て切り出し(消費ターンは1) //[ugCulture]地下に植物を植えることができます //[RottenMeat]製作から腐った肉を作成できます //[calcWeight]カバン・コンテナ等を開けた時やアイテムを入れた時に、入っているアイテム数、現在の重量、空き重量が表示されます //[waterClean]キャンプファイアに向かっていなくても脱塩水、浄化水を作成できるようになります //[immotalFire]キャンプファイア・かまど・炉・金床・トーチスタンドの火が消えなくなる //v0.11更新 //ボタンの状態を保存する処理を追加しました、saveボタンで現在の状態を保存できます(押さないと保存されません) //modを読み込んだ時に保存された情報があれば自動で適用されます //ウィンドウ幅の保存・読込ができなかったため、スクリプト先頭に幅を指定する変数(mod_recover_width)を付加しています //v0.11b更新 //multiCreateボタンの設定が正常に保存・読み出しされるように修正 //v0.11c更新 //[female]コメントログにあったプレイヤー画像 [(名無しさん) 2014-01-30 06 03 11] 差し替えテスト //v0.11d更新 //[offalNOTmeat]内臓の属性(堆肥・肉)を解除します、ONにすると内臓の使い道がマジカルエッセンスと腱の2つだけになります //v0.11e更新 //[offalNOTmeat]ボタン操作時に製作テーブルも更新 //[DurMax]使用した素材の耐久値に関わらず製作品の耐久値がMAXに、最大耐久値はランダムのまま //v0.11f更新 //[popAberrant]ONの状態でモンスターがポップした場合、必ず変異種になる…はずです //[DurMax]現在耐久値を最大耐久値と同じにするよう修正 //v0.11g更新 //[multiCreate]一括作成の対象から装備品・クイックスロットのアイテムを除外 //v0.12更新 //[Find Drop]/[Find Placed]/[Find Ore]の探索用ボタンを追加 //[SoundBuff Clear]/[InvClean]のメンテナンスボタンを追加 //読み込み時に[MultiCreate]ボタンを必ずoffにするよう変更 //mod_recoverの表示/非表示切り替えボタンの位置をオプションウィンドウ内部からメイン画面左下の[Skills]ボタンの次に変更 //mod_recoverウィンドウの位置を保存するよう変更 //緑色の[save]ボタンを押した際にゲーム全体を保存するよう変更 //既知の不具合 //製作した壁を設置した後に回収すると耐久力がおかしくなって再設置できない //→コメントログにあるとおり下記のコマンドを貼り付けて対処をお願いします、このコードを使用すると耐久力の表示を修正します //for(var itm in player.invItems){if(!isFinite(player.invItems[itm].mindur)){player.invItems[itm].mindur=player.invItems[itm].maxdur}} //ロード直後に十字キーが効かないことがあります //→画面をクリックして一度でもキャラの方向を変えると以降正しく反応します //Findボタンを押したときに方向表示が文字化けする //→v0.12bで修正済 //Find Oreボタンが1件しか表示してくれない //→v0.12cでmod_recover_saveData.findCountを参照するよう修正済 Messages.debug="_0_";var f_ret=false;var buttondebug=false;var mod_recover_saveData=[];initSaveData();function _msg(a,c,b){if(!c){c=""}if(b==""||b===undefined||b===null){b="debug"}ui.message(b,c,[a])}function initSaveData(){mod_recover_saveData.left=0;mod_recover_saveData.top=0;mod_recover_saveData.width=560;mod_recover_saveData.height=140;mod_recover_saveData.recoverAuto=false;mod_recover_saveData.alwaysDaylight=false;mod_recover_saveData.ignoreWeight=false;mod_recover_saveData.freshWater=false;mod_recover_saveData.skillGrow=false;mod_recover_saveData.delaycut=false;mod_recover_saveData.speedCraft=false;mod_recover_saveData.successDig=false;mod_recover_saveData.infinityGun=false;mod_recover_saveData.treasureMap=false;mod_recover_saveData.holeySkin=false;mod_recover_saveData.dropAllEx=false;mod_recover_saveData.pickupAll=false;mod_recover_saveData.taintFree=false;mod_recover_saveData.autoCarve=false;mod_recover_saveData.ugCulture=false;mod_recover_saveData.rottenMeat=false;mod_recover_saveData.calcWeight=false;mod_recover_saveData.waterClean=false;mod_recover_saveData.immotalFire=false;mod_recover_saveData.female=false;mod_recover_saveData.offalNOTmeat=false;mod_recover_saveData.DurMax=false;mod_recover_saveData.Aberrant=false;mod_recover_saveData.findCount=10}function sw(b,a){if(b.indexOf("#")!=0){b="#"+b}if(a==""||a==undefined||a==null){a="black"}if($(b).css("background-color")=="rgb(0, 0, 0)"){a="orange"}$(b).css("background-color",a)}function appendfunc_addNewWindow(a){$("#afterload").prepend( div id=" +a+ _root" / );$("#"+a+"_root").prepend( div id=" +a+ _window" class="window" title= +a+ " / );$("#"+a+"_window").dialog({width 500,height 140,autoOpen true,closeOnEscape false,title a});$("#mod_root").append( button id=" +a+ _visible" +a+" /button ");$("#mod_root").on("click","#"+a+"_vibible",function(b){if($("#"+a+"_window").dialog("isOpen")){$("#"+a+"_window").dialog("close")}else{$("#"+a+"_window").dialog("open")}})}if(document.getElementById("mod_root")===null){$("#optionswindow").append( div id="mod_root" / );$("#optionswindow").append( div id="mod_disp" / )}if(document.getElementById("mod_recover_root")==null){$("#actionsopen").parent().append( button id="mod_recover_visible" mod_recover /button );$("#mod_recover_visible").css("background-color","rgba(150,150,0,0.6)");$("#afterload").prepend( div id="mod_recover_root" / );$("#mod_recover_root").prepend( div id="mod_recover_window" class="window" title="mod_recover" / );$("#mod_recover_window").dialog({width mod_recover_saveData.width,height 140,autoOpen true,closeOnEscape false,title "mod_recover"});$("#mod_recover_window").append( div id="mod_recover_window_top" / );$("#mod_recover_window_top").append( div id="recover" / );$("#recover").append( button type="button" id="recover_Health" Health /button button type="button" id="recover_Stamina" Stamina /button button type="button" id="recover_Hunger" Food /button button type="button" id="recover_Thirst" WATER /buttion button type="button" id="recover_BadStatus" Bad /button button type="button" id="recover_HealthStaminaBadStatus" HPSTBAD /button button type="button" id="recover_All" All /button );$("#recover").append( | button id="mod_convergeMap" collectMap /button );$("#recover").append( | button id="mod_recover_save" save /button );$("#recover").on("click","#mod_recover_save",function(a){mod_recover_save();_msg("mod_recover button status saved.");saveGame()});$("#mod_recover_save").css("background-color","green");$("#recover").append( | button id="mod_searchDrop" Find Drop /button );$("#recover").on("click","#mod_searchDrop",function(a){appendfunc_searchDropItem()});$("#recover").append( button id="mod_searchPlaced" Find Placed /button );$("#recover").on("click","#mod_searchPlaced",function(a){appendfunc_searchPlacedItem()});$("#recover").append( button id="mod_findOre" Find Ore /button );var oreSonar=[];isInitoreSonar=false;$("#recover").on("click","#mod_findOre",function(a){if(!isInitoreSonar){appendfunc_oreSonarInit();isInitoreSonar=true}appendfunc_oreSonarVerify()});$("#recover").append( | button id="mod_SoundFlush" SoundBuff Clear /button );$("#recover").on("click","#mod_SoundFlush",function(a){ui.message("debug","",[audio.soundList.length+" Soundbuffer flushed"]);audio.soundList=[]});$("#recover").append( | button id="mod_invClean" InvClean /button hr );$("#recover").on("click","#mod_invClean",function(c){var a=0;for(var b=player.invItems.length-1;b =0;b--){if(!player.invItems[b]){player.invItems.splice(b,1);a++}else{break}}ui.message("debug","",["invIndex="+player.invItems.length+"(-"+a+" buffer)"])});function appendfunc_convergeMap(){f_ret=false;var a=0;for(itemType in player.invItems){if(player.invItems[itemType].type=="tatteredmap"){a++;player.invItems[itemType].props[0]=player.x;player.invItems[itemType].props[1]=player.y}}if(a =1){ui.message("debug","",[a+" tatteled maps in your inventry pointing on your foot!"]);f_ret=true}else{ui.message("debug","",["You have no tattered map."]);f_ret=false}delete a;return f_ret}$("#recover").on("click","#mod_convergeMap",function(a){appendfunc_convergeMap()});$("#recover_Health").css("background-color","orange");$("#recover_Stamina").css("background-color","#00EA0B");$("#recover_Hunger").css("background-color","purple");$("#recover_Thirst").css("background-color","#0033FF");$("#mod_recover_button").on("click","#recover_Visible",function(a){if($("#recover").css("display")=="none"){$("#recover").css("display","block")}else{$("#recover").css("display","none")}});function appendfunc_recover(a,b){f_ret=false;switch(a){case"health" if(player.strength==player.health){if(!b){_msg("recover Health needless.","bad");return false}}else{if(!b){_msg(player.strength-player.health,"","gainedHealth")}player.health=player.strength;f_ret=true}break;case"stamina" if(player.stamina==player.dexterity){if(!b){_msg("recover Stamina needless.","bad");return false}}else{if(!b){_msg(player.dexterity-player.stamina,"","gainedStamina")}player.stamina=player.dexterity;f_ret=true}break;case"hunger" if(player.hunger==player.starvation){if(!b){_msg("recover Food needless.","bad");f_ret=false}}else{if(!b){_msg(player.starvation-player.hunger,"","gainedHunger")}player.hunger=player.starvation;f_ret=true}break;case"thirst" if(player.thirst==player.dehydration){if(!b){_msg("recover Thirst needless.","bad");f_ret=false}}else{if(!b){_msg(player.dehydration-player.thirst,"","gainedThirst")}player.thirst=player.dehydration;f_ret=true}break;case"bad" if(player.status.bleeding){if(!b){_msg("","","curedBleeding")}player.status.bleeding=false;f_ret=true}if(player.status.burning){if(!b){_msg("","","curedBurning")}player.status.burning=false;f_ret=true}if(player.status.poisoned){if(!b){_msg("","","curedPoison")}player.status.poisoned=false;f_ret=true}if(!b !f_ret){_msg("recover Bad needless.","bad")}break}return f_ret}$("#recover").on("click","#recover_Health",function(a){appendfunc_recover("health");passTurn(false)});$("#recover").on("click","#recover_Stamina",function(a){appendfunc_recover("stamina");passTurn(false)});$("#recover").on("click","#recover_Hunger",function(a){appendfunc_recover("hunger");passTurn(false)});$("#recover").on("click","#recover_Thirst",function(a){appendfunc_recover("thirst");passTurn(false)});$("#recover").on("click","#recover_BadStatus",function(a){appendfunc_recover("bad");passTurn(false)});$("#recover").on("click","#recover_HealthStaminaBadStatus",function(b){var a=false;a=appendfunc_recover("health",true)||a;a=appendfunc_recover("stamina",true)||a;a=appendfunc_recover("bad",true)||a;if(a){_msg("Health Stamina Bad Status recovered.")}else{_msg("recover HPSTBAD needless.","bad")}delete a;passTurn(false)});$("#recover").on("click","#recover_All",function(b){var a=false;a=appendfunc_recover("health",true)||a;a=appendfunc_recover("stamina",true)||a;a=appendfunc_recover("hunger",true)||a;a=appendfunc_recover("thirst",true)||a;a=appendfunc_recover("bad",true)||a;if(a){_msg("You are completely recovered.")}else{_msg("recover All needless.","bad")}delete a;passTurn(false)});function chk_recoverAuto(){if(passTurn.toString().indexOf("dexterity")==-1){return false}else{return true}}function appendfunc_recoverAuto(){f_ret=false;var prev1="game.staminaTimer++;";var new_1="game.staminaTimer++;player.health=player.strength;player.stamina=player.dexterity;";if(!chk_recoverAuto()){passTurn=eval("("+passTurn.toString().replace(prev1,new_1)+")");sw("#recover_auto","orange");f_ret=true}else{passTurn=eval("("+passTurn.toString().replace(new_1,prev1)+")");sw("#recover_auto");f_ret=false}delete prev1;delete new_1;return f_ret}$("#recover").append( button type="button" id="recover_auto" AutoRecover /button );if(passTurn.toString().indexOf("dexterity")!=-1){sw("#recover_auto","orange")}$("#recover").on("click","#recover_auto",function(a){appendfunc_recoverAuto()});function chk_alwaysDaylight(){if(lighting.toString().indexOf("player.light = 0;")==-1){return false}else{return true}}function appendfunc_alwaysDaylight(){f_ret=false;var prev1="var lightLevel = player.light;";var new_1="player.light = 0;var lightLevel = player.light;";var prev2="player.x game.mapSize";var new_2="player.x game.mapSize * 3";if(!chk_alwaysDaylight()){lighting=eval("("+lighting.toString().replace(prev1,new_1).replace(prev2,new_2)+")");sw("#mod_AlwaysDaylight","orange");f_ret=true}else{lighting=eval("("+lighting.toString().replace(new_1,prev1).replace(new_2,prev2)+")");sw("#mod_AlwaysDaylight","black");f_ret=false}delete prev1;delete new_1;delete prev2;delete new_2;return f_ret}$("#recover").append( button id="mod_AlwaysDaylight" Always Daylight /button );if(lighting.toString().indexOf("player.light = 0;")!=-1){sw("#mod_AlwaysDaylight","orange")}$("#recover").on("click","#mod_AlwaysDaylight",function(a){appendfunc_alwaysDaylight()});function chk_ignoreWeight(){if(player.checkWeight.toString().indexOf("0===1")==-1){return false}else{return true}}function appendfunc_ignoreWeight(){f_ret=false;var prev1="player.weight player.strength + 15";var new_1="0===1";var prev2="Utilities.roundNumber(contWeight + items[player.invItems[itemId].type].weight, 1) maxWeight";var new_2="0===1";if(!chk_ignoreWeight()){player.checkWeight=eval("("+player.checkWeight.toString().replace(prev1,new_1)+")");dropItem=eval("("+dropItem.toString().replace(prev2,new_2)+")");sw("#mod_ignoreWeight","orange");f_ret=true}else{player.checkWeight=eval("("+player.checkWeight.toString().replace(new_1,prev1)+")");dropItem=eval("("+dropItem.toString().replace(new_2,prev2)+")");sw("#mod_ignoreWeight","black");f_ret=false}delete prev1;delete new_1;delete prev2;delete new_2;return f_ret}$("#recover").append( button id="mod_ignoreWeight" Ignore Weight /button );if(player.checkWeight.toString().indexOf("0===1")!=-1){sw("#mod_ignoreWeight","orange")}$("#recover").on("click","#mod_ignoreWeight",function(a){appendfunc_ignoreWeight()});function chk_freshWater(){if(tile.edited==undefined){return false}else{return true}}function appendfunc_freshWater(){f_ret=false;if(!chk_freshWater()){tile.edited=true}else{delete tile.edited}for(var b=0;b 1024;b++){for(var a=0;a 512;a++){if(tile.edited){if(tile[b][a].type=="water"){tile[b][a].type="freshwater";tile[b][a].q="water"}if(tile[b][a].type=="shallowwater"){tile[b][a].type="freshshallowwater";tile[b][a].q="shallowwater"}if(tile[b][a].type=="deepwater"){tile[b][a].type="freshdeepwater";tile[b][a].q="deepwater"}if(tile[b][a].type=="darkness"){tile[b][a].type="sand";tile[b][a].q="darkness"}}else{if(tile[b][a].q){if(tile[b][a].type=="freshwater" tile[b][a].q=="water"){tile[b][a].type=tile[b][a].q}if(tile[b][a].type=="freshshallowwater" tile[b][a].q=="shallowwater"){tile[b][a].type=tile[b][a].q}if(tile[b][a].type=="freshdeepwater" tile[b][a].q=="deepwater"){tile[b][a].type=tile[b][a].q}if(tile[b][a].type=="sand" tile[b][a].q=="darkness"){tile[b][a].type=tile[b][a].q}delete tile[b][a].q}}}}if(tile[0][0].q){sw("#mod_freshWater","orange");f_ret=true}else{sw("#mod_freshWater","black");f_ret=false}delete b;delete a;return f_ret}$("#recover").append( button id="mod_freshWater" fresh sea /button );if(tile.edited){sw("#mod_freshWater","orange")}$("#recover").on("click","#mod_freshWater",function(a){appendfunc_freshWater()});function chk_skillGrow(){if(player.skillGain.toString().indexOf("0===0")==-1){return false}else{return true}}function appendfunc_skillGrow(){f_ret=false;var prev1="this.skills[skillType].percent = skillChance this.skills[skillType].percent 100 || bypass";var new_1="0===0";var prev2="this.skills[skillType].core 100";var new_2="this.skills[skillType].core == 100";if(!chk_skillGrow()){player.skillGain=eval("("+player.skillGain.toString().replace(prev1,new_1).replace(prev2,new_2)+")");sw("#mod_skillGrow","orange");f_ret=true}else{player.skillGain=eval("("+player.skillGain.toString().replace(new_1,prev1).replace(new_2,prev2)+")");sw("#mod_skillGrow","black");f_ret=false}delete prev1;delete new_1;delete prev2;delete new_2;return f_ret}$("#recover").append( button id="mod_skillGrow" Skillgrow /button );if(player.skillGain.toString().indexOf("0===0")!=-1){$("#mod_skillGrow").css("background-color","orange")}$("#recover").on("click","#mod_skillGrow",function(a){appendfunc_skillGrow()});function chk_delaycut(){if(render.toString().indexOf("ui.keyTimer=0")==-1){return false}else{return true}}function appendfunc_delaycut(){f_ret=false;prev1="ui.keyTimer++";new_1="ui.keyTimer=0;game.delay=0;";if(!chk_delaycut()){render=eval("("+render.toString().replace(prev1,new_1)+")");sw("#mod_delaycut","orange");f_ret=true}else{render=eval("("+render.toString().replace(new_1,prev1)+")");sw("#mod_delaycut","black");f_ret=false}delete prev1;delete new_1;return f_ret}$("#recover").append( button id="mod_delaycut" Delay cut /button );if(render.toString().indexOf("ui.keyTimer++")==-1){sw("#mod_delaycut","orange")}$("#recover").on("click","#mod_delaycut",function(a){appendfunc_delaycut()});function chk_speedCraft(){if($._data($("#craft").get(0)).events.mouseup[0].handler.toString().indexOf("0 === 0")==-1){return false}else{return true}}function appendfunc_speedCraft(){f_ret=false;var ue2=$._data($("#craft").get(0)).events.mouseup[0].handler.toString();if(ue2.indexOf("0 === 0")==-1){ue2=ue2.replace("ui.keyTimer = 20","0 === 0");sw("#mod_speedCraft","orange");f_ret=true}else{ue2=ue2.replace("0 === 0","ui.keyTimer = 20");sw("#mod_speedCraft","black");f_ret=false}$("#craft").off("mouseup",".craft").on("mouseup",".craft",eval("("+ue2+")"));delete ue2;return f_ret}$("#recover").append( button id="mod_speedCraft" SpeedCraft /button );if($._data($("#craft").get(0)).events.mouseup[0].handler.toString().indexOf("0 === 0")!=-1){sw("#mod_speedCraft","orange")}$("#recover").on("click","#mod_speedCraft",function(a){appendfunc_speedCraft()});function chk_successDig(){if(player.actions.dig.toString().indexOf("itemChance = 0;")==-1){return false}else{return true}}function appendfunc_successDig(){f_ret=false;var prev1="var getItem = false;";var new_1="var getItem = false;itemChance = 0;";var prev2="var item = {";var new_2="for(var i=0;i =resource[tileType].length-1;i++){var item = {";var prev3="newTileType = cave;";var new_3="newTileType = cave;}";var prev4="type resource[tileType][resourceType][0]";var new_4="type resource[tileType][i][0]";var prev5="regathered) {";var new_5="regathered=== a ){";if(!chk_successDig()){player.actions.dig=eval("("+player.actions.dig.toString().replace(prev1,new_1).replace(prev2,new_2).replace(prev3,new_3).replace(prev4,new_4).replace(prev5,new_5)+")");sw("#mod_successDig","orange");f_ret=true}else{player.actions.dig=eval("("+player.actions.dig.toString().replace(new_1,prev1).replace(new_2,prev2).replace(new_3,prev3).replace(new_4,prev4).replace(new_5,prev5)+")");sw("#mod_successDig","black");f_ret=false}delete prev1;delete new_1;delete prev2;delete new_2;delete prev3;delete new_3;delete prev4;delete new_4;delete prev5;delete new_5;return f_ret}$("#recover").append( button id="mod_successDig" Dig100% /button );if(player.actions.dig.toString().indexOf("itemChance = 0;")!=-1){sw("#mod_successDig","orange")}$("#recover").on("click","#mod_successDig",function(a){appendfunc_successDig()});function chk_infinityGun(){if(player.actions.fire.toString().indexOf("infinity bullet")==-1){return false}else{return true}}function appendfunc_infinityGun(){f_ret=false;var prev1="removeItem(blackpowder.itemId, INV , blackpowder.containerId);";var new_1="console.log( infinity bullet );";var prev2="!blackpowder";var new_2="0===1";if(!chk_infinityGun()){player.actions.fire=eval("("+player.actions.fire.toString().replace(prev1,new_1).replace(prev2,new_2)+")");sw("#mod_infinityGun","orange");f_ret=true}else{player.actions.fire=eval("("+player.actions.fire.toString().replace(new_1,prev1).replace(new_2,prev2)+")");sw("#mod_infinityGun","black");f_ret=false}delete prev1;delete new_1;delete prev2;delete new_2;return f_ret}$("#recover").append(" button id=mod_infinityGun infinityGun /button ");if(player.actions.fire.toString().indexOf("infinity bullet")!=-1){sw("#mod_infinityGun","orange")}$("#recover").on("click","#mod_infinityGun",function(a){appendfunc_infinityGun()});function chk_treasureMap(){if(player.actions.openBottle.toString().indexOf("Math.random() * 1 + 1")==-1){return false}else{return true}}function appendfunc_treasureMap(){f_ret=false;var prev1="Math.random() * 4";var new_1="Math.random() * 1 + 1";if(!chk_treasureMap()){player.actions.openBottle=eval("("+player.actions.openBottle.toString().replace(prev1,new_1)+")");sw("#mod_treasureMap","orange");f_ret=true}else{player.actions.openBottle=eval("("+player.actions.openBottle.toString().replace(new_1,prev1)+")");sw("#mod_treasureMap","black");f_ret=false}delete prev1;delete new_1;return f_ret}$("#recover").append(" button id=mod_treasureMap Map100% /button ");if(player.actions.openBottle.toString().indexOf("Math.random() * 1 + 1")!=-1){sw("#mod_treasureMap","orange")}$("#recover").on("click","#mod_treasureMap",function(a){appendfunc_treasureMap()});function chk_holeySkin(){if(player.actions.fillWater.toString().indexOf("e = unpurifiedfreshwaterwaterskin ")!=-1){return false}else{return true}}function appendfunc_holeySkin(){f_ret=false;var prev1="e = unpurifiedfreshwaterwaterskin ";var new_1="e = waterskin ";if(!chk_holeySkin()){player.actions.fillWater=eval("("+player.actions.fillWater.toString().replace(prev1,new_1)+")");sw("#mod_holeySkin","orange");f_ret=true}else{player.actions.fillWater=eval("("+player.actions.fillWater.toString().replace(new_1,prev1)+")");sw("#mod_holeySkin","black");f_ret=false}delete prev1;delete new_1;return f_ret}$("#recover").append(" button id=mod_holeySkin holeySkin /button ");if(chk_holeySkin()){sw("#mod_holeySkin","orange")}$("#recover").on("click","#mod_holeySkin",function(a){appendfunc_holeySkin()});function chk_dropAllEx(){if(dropItem.toString().indexOf("if(dropAll)")==-1){return false}else{return true}}function appendfunc_dropAllEx(){f_ret=false;var prev1="ui.message( waterDrop , normal , [items[itemType].name]);";var new_1=prev1+"if(dropAll){for(var playerItem=0;playerItem player.invItems.length;playerItem++){if(player.invItems[playerItem]!==undefined player.invItems[playerItem]!==null){if(player.invItems[playerItem].type===itemType !player.invItems[playerItem].quickSlotted !player.invItems[playerItem].equipped){removeItem(playerItem, INV ,false)}}}audio.queueSfx( water );passTurn(true);return}";var prev2="player.invItems[playerItem].type === itemType";var new_2=prev2+" !player.invItems[playerItem].equipped !player.invItems[playerItem].quickSlotted";if(!chk_dropAllEx()){dropItem=eval("("+dropItem.toString().replace(prev1,new_1).replace(prev2,new_2)+")");sw("#mod_dropAllEx","orange");f_ret=true}else{dropItem=eval("("+dropItem.toString().replace(new_1,prev1).replace(new_2,prev2)+")");sw("#mod_dropAllEx","black");f_ret=false}delete prev1;delete new_1;delete prev2;delete new_2;return f_ret}$("#recover").append(" button id=mod_dropAllEx dropAllExtend /button ");if(chk_dropAllEx()){sw("#mod_dropAllEx","orange")}$("#recover").on("click","#mod_dropAllEx",function(a){appendfunc_dropAllEx()});function chk_pickupAll(){if(checkUnderPlayer.toString().indexOf("while")==-1){return false}else{return true}}function appendfunc_pickupAll(){f_ret=false;var prev1="var keys = Object.keys(tile[playerX][playerY].tileitems);";var new_1=prev1+"while(keys.length =1){";var prev2= ui.hintDisplay("fastpickup"); ;var new_2=prev2+"}keys.pop();";if(!chk_pickupAll()){checkUnderPlayer=eval("("+checkUnderPlayer.toString().replace(prev1,new_1).replace(prev2,new_2)+")");$("#mod_pickupAll").css("background-color","orange");f_ret=true}else{checkUnderPlayer=eval("("+checkUnderPlayer.toString().replace(new_1,prev1).replace(new_2,prev2)+")");$("#mod_pickupAll").css("background-color","black");f_ret=false}delete prev1;delete new_1;delete prev2;delete new_2;return f_ret}$("#recover").append( button type="button" id="mod_pickupAll" pickupAll /button );if(chk_pickupAll()){sw("#mod_pickupAll","orange")}$("#recover").on("click","#mod_pickupAll",function(a){appendfunc_pickupAll()});function chk_multiCreate(){if(craftItem.toString().indexOf("tmpHealth")==-1){return false}else{return true}}function appendfunc_multiCreate(){f_ret=false;var turnUpdate=false;var prev1="var consumes = [];";var new_1= do{var turnUpdate=false;craftMsg=""; +prev1;var tmpHealth=player.health;"+prev1";var prev2="return !failed;\r\n }";var new_2="}}while(craftMsg!= tmpHealth = player.health);passTurn(true);return !failed;";var prev3="passTurn(true)";var new_3="passTurn(false)";var prev4="ui.$equip.find( li )";var new_4="/*"+prev4;var prev5="// get";var new_5="*/"+prev5;if(!chk_multiCreate()){craftItem=eval("("+craftItem.toString().replace(prev1,new_1).replace(prev2,new_2).replace(prev3,new_3).replace(prev4,new_4).replace(prev5,new_5)+")");sw("#mod_multiCreate","orange");f_ret=true}else{craftItem=eval("("+craftItem.toString().replace(new_1,prev1).replace(new_2,prev2).replace(new_3,prev3).replace(new_4,prev4).replace(new_5,prev5)+")");sw("#mod_multiCreate","black");f_ret=false}delete prev1;delete new_1;delete prev2;delete new_2;delete prev3;delete new_3;delete prev4;delete new_4;delete prev5;delete new_5;delete tmpHealth;return f_ret}$( div id="mod_multiCreate_frame" button type="button" id="mod_multiCreate" MultiCreate /button /div ).insertBefore($("#craftwindow"));if(chk_multiCreate()){sw("#mod_multiCreate","orange")}$("#mod_multiCreate_frame").on("click","#mod_multiCreate",function(a){appendfunc_multiCreate()});function decreaseDur(b,a){return b}function decreaseDecay(b,a){return b}function chk_taintFree(){if(player.actions.attack.toString().indexOf("ammo.mindur--")!=-1){return false}else{return true}}function appendfunc_taintFree(){f_ret=false;var prev1="ammo.mindur--;";var new_1="decreaseDur(ammo, player.actions.attack-1 );";var prev2="weapon.mindur--;";var new_2="decreaseDur(weapon, player.actions.attack-2 );";var prev3="item.mindur = tileItem.mindur - 1;";var new_3="decreaseDur(tileItem, player.actions.dig );item.mindur = tileItem.mindur;";var prev4="tileItem.mindur - 1;";var new_4="decreaseDur(tileItem, player.actions.gather );";var prev5="itemGet({";var new_5="decreaseDur(envItems[id], gatherEnvItems );itemGet({";var prev6="envItems[id].mindur - 1,";var new_6="envItems[id].mindur,";var prev7="item.mindur -= 1;";var new_7="decreaseDur(item, damageItem );";var prev8="item.mindur = tileItem.mindur - 1;";var new_8="decreaseDur(tileItem, actionsmenu.pickup-door );item.mindur = tileItem.mindur;";var prev9="envItems[envId].decay--;";var new_9="decreaseDecay(envItems[envId], environmentalDecay );";var prevA="envItems[envId].decay--;";var new_A="decreaseDecay(envItems[envId], environmentalDecay );";var prevB="decayContainer[containerItem].decay--;";var new_B="decreaseDecay(decayContainer[containerItem], decayItemsInContainer )";var prevC="player.invItems[invItem].decay--;";var new_C="decreaseDecay(player.invItems[invItem], passTurn-1 )";var prevD="tileItems[tileItemsKey[i2]].decay--;";var new_D="decreaseDecay(tileItems[tileItemsKey[i2]], passTurn-2 );";if(!chk_taintFree()){player.actions.attack=eval("("+player.actions.attack.toString().replace(prev1,new_1).replace(prev2,new_2)+")");player.actions.dig=eval("("+player.actions.dig.toString().replace(prev3,new_3)+")");player.actions.gather=eval("("+player.actions.gather.toString().replace(prev4,new_4)+")");gatherEnvItems=eval("("+gatherEnvItems.toString().replace(prev5,new_5).replace(prev6,new_6)+")");damageItem=eval("("+damageItem.toString().replace(prev7,new_7)+")");var pickupdoorfunc=$._data(ui.$actionsMenu.get(0),"events")["mouseup"][5].handler.toString().replace(prev8,new_8);ui.$actionsMenu.off("mouseup",".pickup-door").on("mouseup",".pickup-door",eval("("+pickupdoorfunc+")"));decayItemsInContainer=eval("("+decayItemsInContainer.toString().replace(prevB,new_B)+")");passTurn=eval("("+passTurn.toString().replace(prevC,new_C).replace(prevD,new_D)+")");$("#mod_taintFree").css("background-color","orange");f_ret=true}else{player.actions.attack=eval("("+player.actions.attack.toString().replace(new_1,prev1).replace(new_2,prev2)+")");player.actions.dig=eval("("+player.actions.dig.toString().replace(new_3,prev3)+")");player.actions.gather=eval("("+player.actions.gather.toString().replace(new_4,prev4)+")");gatherEnvItems=eval("("+gatherEnvItems.toString().replace(new_5,prev5).replace(new_6,prev6)+")");damageItem=eval("("+damageItem.toString().replace(new_7,prev7)+")");var pickupdoorfunc=$._data(ui.$actionsMenu.get(0),"events")["mouseup"][5].handler.toString().replace(new_8,prev8);ui.$actionsMenu.off("mouseup",".pickup-door").on("mouseup",".pickup-door",eval("("+pickupdoorfunc+")"));decayItemsInContainer=eval("("+decayItemsInContainer.toString().replace(new_B,prevB)+")");passTurn=eval("("+passTurn.toString().replace(new_C,prevC).replace(new_D,prevD)+")");sw("#mod_taintFree","black");f_ret=false}delete prev1;delete new_1;delete prev2;delete new_2;delete prev3;delete new_3;delete prev4;delete new_4;delete prev5;delete new_5;delete prev6;delete new_6;delete prev7;delete new_7;delete prev8;delete new_8;delete prev9;delete new_9;delete prevA;delete new_A;delete prevB;delete new_B;delete prevC;delete new_C;delete prevD;delete new_D;delete pickupdoorfunc;return f_ret}$("#recover").append( button type="button" id="mod_taintFree" taintFree /button );if(player.actions.attack.toString().indexOf("ammo.mindur--")==-1){sw("#mod_taintFree","orange")}$("#recover").on("click","#mod_taintFree",function(a){appendfunc_taintFree()});function gatherEnvItemsEx(itemId){(eval("("+gatherEnvItems.toString().replace("passTurn(true)","passTurn(false)")+")"))(itemId)}function chk_autoCarve(){if(checkUnderPlayer.toString().indexOf("gatherUnderPlayer()")==-1){return false}else{return true}}function appendfunc_autoCarve(){f_ret=false;prev1="return true;";new_1="gatherUnderPlayer();return true;";if(!chk_autoCarve()){checkUnderPlayer=eval("("+checkUnderPlayer.toString().replace(prev1,new_1)+")");sw("#mod_autoCarve","orange");f_ret=true}else{checkUnderPlayer=eval("("+checkUnderPlayer.toString().replace(new_1,prev1)+")");sw("#mod_autoCarve","black");f_ret=false}delete prev1;delete new_1;return f_ret}function gatherUnderPlayer(){f_ret=false;if(tile[player.x][player.y].envItemList){for(itemLocation=tile[player.x][player.y].envItemList.length-1;itemLocation =0;itemLocation--){var b=false;var a=tile[player.x][player.y].envItemList[itemLocation];if(!game.isValidPickUp(a)){}else{if(environmentals[envItems[a].type].carve){if(environmentals[envItems[a].type].blood){createParticles(environmentals[envItems[a].type].blood[0],environmentals[envItems[a].type].blood[1],environmentals[envItems[a].type].blood[2])}else{createParticles(210,5,5);b=true}}if(b){placeEnvItem({type "blood",x envItems[a].x,y envItems[a].y,quality ""});ui.message("removeBlood","normal");gatherEnvItemsEx(tile[player.x][player.y].envItemList[tile[player.x][player.y].envItemList.length-1])}console.log(envItems[a].type);if(envItems[a].type.indexOf("_corpse")!=-1||envItems[a].type.indexOf("blood")!=-1){ui.message("carveCorpse","normal");if(envItems[a].type==="pirateghost_corpse"){addMilestone("reaperofsouls")}gatherEnvItemsEx(a)}}}}return}$("#recover").append( button type="button" id="mod_autoCarve" autoCarve /button );if(checkUnderPlayer.toString().indexOf("gatherUnderPlayer()")!=-1){sw("#mod_autoCarve","orange")}$("#recover").on("click","#mod_autoCarve",function(a){appendfunc_autoCarve()});function chk_ugCulture(){if(environmentals.thistle.cavegrow==true){return true}else{return false}}function appendfunc_ugCulture(){f_ret=false;var a=false;var b=["grassseeds_ground","sapling_ground","yellowflowers","tallgrass","thistle","wildonion_ground","cotton_ground"];if(!chk_ugCulture()){a=true}for(var c in environmentals){if($.inArray(c,b) =0){environmentals[c].cavegrow=a;if(environmentals[c].cavegrow==false){delete environmentals[c].cavegrow}}}if(a){sw("#mod_ugCulture","orange")}else{sw("#mod_ugCulture","black")}f_ret=a;delete b;delete c;delete a;return f_ret}$("#recover").append( button type="button" id="mod_ugCulture" ugCulture /button );if(environmentals.thistle.cavegrow){sw("#mod_ugCulture","orange")}$("#recover").on("click","#mod_ugCulture",function(a){appendfunc_ugCulture()});function chk_rottenMeat(){if(items.rottenmeat.recipe){return true}else{return false}}function appendfunc_rottenMeat(){if(!chk_rottenMeat()){items.rottenmeat.recipe={requires [["meat",1,1]],level "expert",skill "cooking"};sw("#mod_rottenMeat","orange");craftTable();f_ret=true}else{for(var a=0;a player.crafted.length;a++){if(player.crafted[a]==="rottenmeat"){player.crafted.splice(a,1)}}delete items.rottenmeat.recipe;sw("#mod_rottenMeat","black");craftTable();f_ret=false}return f_ret}$("#recover").append( button type="button" id="mod_rottenMeat" RottenMeat /button );if(items.rottenmeat.recipe){sw("#mod_rottenMeat","orange")}$("#recover").on("click","#mod_rottenMeat",function(a){appendfunc_rottenMeat()});function getWeightStr(f,d){f_ret="";var c=0;var a=0;var b=0;if(d=="INV"){for(var e in player.invItems[f].container){if(player.invItems[f].container[e]===null){}else{c++;b+=items[player.invItems[f].container[e].type].weight}}a=items[player.invItems[f].type].maxWeight-b.toFixed(1)}else{for(var e in envItems[f].container){if(envItems[f].container[e]===null){}else{c++;b+=items[envItems[f].container[e].type].weight}}a=environmentals[envItems[f].type].maxWeight-b.toFixed(1)}a=a.toFixed(1);if(a 0){a="Maximum weight"}f_ret=" ("+c+" items, weight "+b.toFixed(1)+"["+a+" free])";delete c;delete a;delete b;return f_ret}function chk_calcWeight(){if(player.actions.openContainer.toString().indexOf("getWeightStr")==-1){return false}else{return true}}function appendfunc_calcWeight(){f_ret=false;var prev1="ui.message(\"youOpenThe\", normal , [containerName]);";var new_1="ui.message(\"youOpenThe\", normal , [containerName+getWeightStr(id,type)]);";if(!chk_calcWeight()){player.actions.openContainer=eval("("+player.actions.openContainer.toString().replace(prev1,new_1)+")");sw("#mod_calcWeight","orange");f_ret=true}else{player.actions.openContainer=eval("("+player.actions.openContainer.toString().replace(new_1,prev1)+")");sw("#mod_calcWeight","black");f_ret=false}delete prev1;delete new_1;return f_ret}$("#recover").append( button type="button" id="mod_calcWeight" calcWeight /button );if(player.actions.openContainer.toString().indexOf("getWeightStr")!=-1){sw("#mod_calcWeight","orange")}$("#recover").on("click","#mod_calcWeight",function(a){appendfunc_calcWeight()});function chk_waterClean(){if(items.purifiedfreshwaterwaterskin.recipe.requiredenv!=undefined){return false}else{return true}}function appendfunc_waterClean(){if(!chk_waterClean()){delete items.purifiedfreshwaterwaterskin.recipe.requiredenv;delete items.purifiedfreshwaterglassbottle.recipe.requiredenv;delete items.desalinatedwaterwaterskin.recipe.requiredenv;delete items.desalinatedwaterglassbottle.recipe.requiredenv;sw("#mod_waterClean","orange");f_ret=true}else{items.purifiedfreshwaterwaterskin.recipe.requiredenv="campfire_lit";items.purifiedfreshwaterglassbottle.recipe.requiredenv="campfire_lit";items.desalinatedwaterwaterskin.recipe.requiredenv="campfire_lit";items.desalinatedwaterglassbottle.recipe.requiredenv="campfire_lit";sw("#mod_waterClean","black");f_ret=false}return f_ret}$("#recover").append( button type="button" id="mod_waterClean" waterClean /button );if(items.purifiedfreshwaterwaterskin.recipe.requiredenv==undefined){sw("#mod_waterClean","orange")}$("#recover").on("click","#mod_waterClean",function(a){appendfunc_waterClean()});function chk_immotalFire(){if(environmentals.campfire_lit.decay==undefined){return true}else{return false}}function appendfunc_immotalFire(){f_ret=false;var a=false;var c=["campfire_lit","kiln_lit","forgeandanvil_lit","furnace_lit","torchstand_lit"];var b=[60,75,60,75];if(!chk_immotalFire()){a=true}for(var d in environmentals){if($.inArray(d,c) =0){if(a==false){environmentals[d].decay=b[$.inArray(d,c)]}else{delete environmentals[d].decay}}}f_ret=a;if(a==true){sw("#mod_immotalFire","orange")}else{sw("#mod_immotalFire","black")}delete c;delete b;delete a;return f_ret}$("#recover").append( button type="button" id="mod_immotalFire" immotalFire /button );if(environmentals.campfire_lit.decay==undefined){sw("#mod_immotalFire","orange")}$("#recover").on("click","#mod_immotalFire",function(a){appendfunc_immotalFire()});function chk_female(){if(player.characterSprite.src.indexOf("female")==-1){return false}else{return true}}function appendfunc_female(){f_ret=false;var a="http //www.unlok.ca/wayward/images/character.png";var b="http //www55.atwiki.jp/wayward_jp?cmd=upload act=open pageid=27 file=character_female.png";if(!chk_female()){player.characterSprite.src=b;sw("#mod_female","orange");f_ret=true}else{player.characterSprite.src=a;sw("#mod_female","black");f_ret=false}delete a;delete b;passTurn(false);return f_ret}$("#recover").append( button type="button" id="mod_female" female /button );if(player.characterSprite.src.indexOf("female")!=-1){sw("#mod_female","orange")}$("#recover").on("click","#mod_female",function(a){appendfunc_female()});function chk_offalNOTmeat(){if(items.offal.group==undefined){return true}else{return false}}function appendfunc_offalNOTmeat(){f_ret=false;if(!chk_offalNOTmeat()){delete items.offal.group;sw("#mod_offalNOTmeat","orange");f_ret=true}else{items.offal.group=["compost","meat"];sw("#mod_offalNOTmeat","black");f_ret=false}craftTable();return f_ret}$("#recover").append( button type="button" id="mod_offalNOTmeat" offalNOTmeat /button );if(chk_offalNOTmeat()){sw("#mod_offalNOTmeat","orange")}$("#recover").on("click","#mod_offalNOTmeat",function(a){appendfunc_offalNOTmeat()});function chk_DurMax(){if(craftItem.toString().indexOf("items[craftType].maxdur;")==-1){return false}else{return true}}function appendfunc_DurMax(){f_ret=false;var prev1="minDur = itemDurability.originalMinimum;";var new_1="minDur = itemDurability.originalMaximum ;";var prev2="maxDur = itemDurability.originalMaximum;";var new_2="madXur = items[craftType].maxdur;";if(!chk_DurMax()){craftItem=eval("("+craftItem.toString().replace(prev1,new_1).replace(prev2,new_2)+")");sw("#mod_DurMax","orange");f_ret=true}else{craftItem=eval("("+craftItem.toString().replace(new_1,prev1).replace(new_2,prev2)+")");sw("#mod_DurMax","black");f_ret=false}delete prev1;delete new_1;delete prev2;delete new_2;return f_ret}$("#recover").append( button type = "button" id="mod_DurMax" DurMax /button );if(chk_DurMax()){sw("#mod_DurMax","orange")}$("#recover").on("click","#mod_DurMax",function(a){appendfunc_DurMax()});function chk_Aberrant(){if(spawnMonster.toString().indexOf("forceAberrant=true;")==-1){return false}else{return true}}function appendfunc_Aberrant(){f_ret=false;prev1="var aberrantChance = 0;";new_1="forceAberrant=true;"+prev1;if(!chk_Aberrant()){spawnMonster=eval("("+spawnMonster.toString().replace(prev1,new_1)+")");sw("#mod_Aberrant","orange");f_ret=true}else{spawnMonster=eval("("+spawnMonster.toString().replace(new_1,prev1)+")");sw("#mod_Aberrant","black");f_ret=false}delete prev1;delete new_1;return f_ret}function appendfunc_searchDropItem(){function b(j,i){if(j.far i.far){return 1}else{return-1}}var c=0;var a=0;var k=0;var h="";var g="";var d=[];ui.message("debug","bad",["===start DropitemSearch==="]);for(var f=0;f =tileItems.length;f++){if(!tileItems[f]){}else{if(player.x =512){if(tileItems[f].x 512){c=player.x-tileItems[f].x;a=player.y-tileItems[f].y;if(c =0){h=decodeURI("%E2%86%92")}else{h=decodeURI("%E2%86%90")}if(a =0){g=decodeURI("%E2%86%93")}else{g=decodeURI("%E2%86%91")}k=Math.abs(c)+Math.abs(a);d.push({type tileItems[f].type,x Math.abs(c),y Math.abs(a),dirX h,dirY g,far k})}}else{if(tileItems[f].x =512){c=player.x-tileItems[f].x;a=player.y-tileItems[f].y;if(c =0){h=decodeURI("%E2%86%92")}else{h=decodeURI("%E2%86%90")}if(a =0){g=decodeURI("%E2%86%93")}else{g=decodeURI("%E2%86%91")}k=Math.abs(c)+Math.abs(a);d.push({type tileItems[f].type,x Math.abs(c),y Math.abs(a),dirX h,dirY g,far k})}}}}d.sort(b);for(var e=1;e =(d.length =mod_recover_saveData.findCount?mod_recover_saveData.findCount d.length);e++){ui.message("debug","",["#"+e+" - "+d[e-1].type+"("+d[e-1].dirX+d[e-1].x+","+d[e-1].dirY+d[e-1].y+")[far "+d[e-1].far+"]"])}if(d.length==0){ui.message("debug","",["No item found."])}else{ui.message("debug","",[d.length+" items"])}delete c;delete a;delete h;delete g;delete k;delete dropCount;d=""}function appendfunc_searchPlacedItem(){function b(j,i){if(j.far i.far){return 1}else{return-1}}var c=0;var a=0;var k=0;var h="";var g="";var d=[];ui.message("debug","bad",["===start PlaceditemSearch==="]);for(var f=0;f =envItems.length;f++){if(!envItems[f]){}else{if(envItems[f].type!="woodenchest_unlocked"){if(player.x =512){if(envItems[f].x 512){c=player.x-envItems[f].x;a=player.y-envItems[f].y;if(c =0){h=decodeURI("%E2%86%92")}else{h=decodeURI("%E2%86%90")}if(a =0){g=decodeURI("%E2%86%93")}else{g=decodeURI("%E2%86%91")}k=Math.abs(c)+Math.abs(a);d.push({type envItems[f].type,x Math.abs(c),y Math.abs(a),dirX h,dirY g,far k})}}else{if(envItems[f].x =512){c=player.x-envItems[f].x;a=player.y-envItems[f].y;if(c =0){h=decodeURI("%E2%86%92")}else{h=decodeURI("%E2%86%90")}if(a =0){g=decodeURI("%E2%86%93")}else{g=decodeURI("%E2%86%91")}k=Math.abs(c)+Math.abs(a);d.push({type envItems[f].type,x Math.abs(c),y Math.abs(a),dirX h,dirY g,far k})}}}}}d.sort(b);for(var e=1;e =(d.length =mod_recover_saveData.findCount?mod_recover_saveData.findCount d.length);e++){ui.message("debug","",["#"+e+" - "+d[e-1].type+"("+d[e-1].dirX+d[e-1].x+","+d[e-1].dirY+d[e-1].y+")[far "+d[e-1].far+"]"])}if(d.length==0){ui.message("debug","",["No item found."])}else{ui.message("debug","",[d.length+" items"])}delete c;delete a;delete h;delete g;delete k;delete dropCount;d=""}function appendfunc_oreSonarInit(){function d(g,f){if(g.far f.far){return 1}else{return-1}}var a="";var e=false;for(var c=0;c =1023;c++){for(var b=0;b =511;b++){if(tile[c][b].type=="coalrock"||tile[c][b].type=="ironrock"||tile[c][b].type=="limestonerock"||tile[c][b].type=="talcrock"||tile[c][b].type=="ironsandstone"||tile[c][b].type=="nitersandstone"||tile[c][b].type=="ash"||tile[c][b].type=="snow"){a="ore ";e=true}if(tile[c][b].type=="berryforest"||tile[c][b].type=="fungusforest"||tile[c][b].type=="vineforest"||tile[c][b].type=="swamp"||tile[c][b].type=="coconutspalm"){a="forest";e=true}if(e){oreSonar.push({group a,x c,y b,type tile[c][b].type,relX player.x-c,relY player.y-b,far Math.abs(player.x-c)+Math.abs(player.y-b),dirX (player.x-c =0?decodeURI("%E2%86%92") decodeURI("%E2%86%90")),dirY (player.y-b =0?decodeURI("%E2%86%91") decodeURI("%E2%86%93"))});e=false}}}oreSonar.sort(d)}function appendfunc_oreSonarVerify(){function d(g,f){if(g.far f.far){return 1}else{return-1}}var e=false;var b=1;var a=[0,0];for(var c=oreSonar.length;c =0;c--){if(!oreSonar[c]){}else{if(tile[oreSonar[c].x][oreSonar[c].y].type==oreSonar[c].type){oreSonar[c].relX=player.x-oreSonar[c].x;oreSonar[c].relY=player.y-oreSonar[c].y;oreSonar[c].far=Math.abs(oreSonar[c].relX)+Math.abs(oreSonar[c].relY);oreSonar[c].dirX=(oreSonar[c].relX 0?decodeURI("%E2%86%90") decodeURI("%E2%86%92"));oreSonar[c].dirY=(oreSonar[c].relY 0?decodeURI("%E2%86%91") decodeURI("%E2%86%93"));if(oreSonar[c].x =511){a[0]++}else{a[1]++}}else{oreSonar.splice(c,1)}}}oreSonar.sort(d);ui.message("debug","bad",["===start oreSearch==="]);for(c=1;c =oreSonar.length;c++){if(player.x =511){if(oreSonar[c-1].x =511){e=true}}else{if(oreSonar[c-1].x =512){e=true}}if(e){ui.message("debug","",["#"+b+" - "+oreSonar[c-1].type+"("+oreSonar[c-1].dirX+Math.abs(oreSonar[c-1].relX)+","+oreSonar[c-1].dirY+Math.abs(oreSonar[c-1].relY)+")[far "+oreSonar[c-1].far+"]"]);b++;e=false;if(c==oreSonar.length||b mod_recover_saveData.findCount){break}}}if(b==1){ui.message("debug","",["No item found."])}else{if(player.x =511){ui.message("debug","",[a[0]+" items"])}else{ui.message("debug","",[a[1]+" items"])}}}$("#recover").append( button type="button" id="mod_Aberrant" popAberrant /button );if(chk_Aberrant()){sw("#mod_Aberrant","orange")}$("#recover").on("click","#mod_Aberrant",function(a){appendfunc_Aberrant()});function mod_recover_save(){mod_recover_saveData.left=$("#recover").parent().parent().parent().css("left");mod_recover_saveData.top=$("#recover").parent().parent().parent().css("top");mod_recover_saveData.width=$("#mod_recover_window").css("width");mod_recover_saveData.height=$("#mod_recover_window").css("height");mod_recover_saveData.recoverAuto=chk_recoverAuto();mod_recover_saveData.alwaysDaylight=chk_alwaysDaylight();mod_recover_saveData.ignoreWeight=chk_ignoreWeight();mod_recover_saveData.freshWater=chk_freshWater();mod_recover_saveData.skillGrow=chk_skillGrow();mod_recover_saveData.delaycut=chk_delaycut();mod_recover_saveData.speedCraft=chk_speedCraft();mod_recover_saveData.successDig=chk_successDig();mod_recover_saveData.infinityGun=chk_infinityGun();mod_recover_saveData.treasureMap=chk_treasureMap();mod_recover_saveData.holeySkin=chk_holeySkin();mod_recover_saveData.dropAllEx=chk_dropAllEx();mod_recover_saveData.pickupAll=chk_pickupAll();mod_recover_saveData.taintFree=chk_taintFree();mod_recover_saveData.autoCarve=chk_autoCarve();mod_recover_saveData.ugCulture=chk_ugCulture();mod_recover_saveData.rottenMeat=chk_rottenMeat();mod_recover_saveData.calcWeight=chk_calcWeight();mod_recover_saveData.waterClean=chk_waterClean();mod_recover_saveData.immotalFire=chk_immotalFire();mod_recover_saveData.multiCreate=chk_multiCreate();mod_recover_saveData.female=chk_female();mod_recover_saveData.offalNOTmeat=chk_offalNOTmeat();mod_recover_saveData.DurMax=chk_DurMax();mod_recover_saveData.Aberrant=chk_Aberrant();localStorage.setItem("mod_recover_saveData",JSON.stringify(mod_recover_saveData))}function mod_recover_load(){mod_recover_saveData=JSON.parse(localStorage.getItem("mod_recover_saveData"));for(prop in mod_recover_saveData){if(prop=="left"){$("#recover").parent().parent().parent().css("left",mod_recover_saveData.left)}if(prop=="top"){$("#recover").parent().parent().parent().css("top",mod_recover_saveData.top)}if(prop=="height"){$("#mod_recover_window").css("height",mod_recover_saveData.height)}if(prop=="width"){$("#mod_recover_window").css("height",mod_recover_saveData.width)}if(prop=="recoverAuto"){if(mod_recover_saveData[prop]!=chk_recoverAuto()){appendfunc_recoverAuto()}}if(prop=="alwaysDaylight"){if(mod_recover_saveData[prop]!=chk_alwaysDaylight()){appendfunc_alwaysDaylight()}}if(prop=="ignoreWeight"){if(mod_recover_saveData[prop]!=chk_ignoreWeight()){appendfunc_ignoreWeight()}}if(prop=="freshWater"){if(mod_recover_saveData[prop]!=chk_freshWater()){appendfunc_freshWater()}}if(prop=="skillGrow"){if(mod_recover_saveData[prop]!=chk_skillGrow()){appendfunc_skillGrow()}}if(prop=="delaycut"){if(mod_recover_saveData[prop]!=chk_delaycut()){appendfunc_delaycut()}}if(prop=="speedCraft"){if(mod_recover_saveData[prop]!=chk_speedCraft()){appendfunc_speedCraft()}}if(prop=="successDig"){if(mod_recover_saveData[prop]!=chk_successDig()){appendfunc_successDig()}}if(prop=="infinityGun"){if(mod_recover_saveData[prop]!=chk_infinityGun()){appendfunc_infinityGun()}}if(prop=="treasureMap"){if(mod_recover_saveData[prop]!=chk_treasureMap()){appendfunc_treasureMap()}}if(prop=="holeySkin"){if(mod_recover_saveData[prop]!=chk_holeySkin()){appendfunc_holeySkin()}}if(prop=="dropAllEx"){if(mod_recover_saveData[prop]!=chk_dropAllEx()){appendfunc_dropAllEx()}}if(prop=="pickupAll"){if(mod_recover_saveData[prop]!=chk_pickupAll()){appendfunc_pickupAll()}}if(prop=="taintFree"){if(mod_recover_saveData[prop]!=chk_taintFree()){appendfunc_taintFree()}}if(prop=="autoCarve"){if(mod_recover_saveData[prop]!=chk_autoCarve()){appendfunc_autoCarve()}}if(prop=="ugCulture"){if(mod_recover_saveData[prop]!=chk_ugCulture()){appendfunc_ugCulture()}}if(prop=="rottenMeat"){if(mod_recover_saveData[prop]!=chk_rottenMeat()){appendfunc_rottenMeat()}}if(prop=="calcWeight"){if(mod_recover_saveData[prop]!=chk_calcWeight()){appendfunc_calcWeight()}}if(prop=="waterClean"){if(mod_recover_saveData[prop]!=chk_waterClean()){appendfunc_waterClean()}}if(prop=="immotalFire"){if(mod_recover_saveData[prop]!=chk_immotalFire()){appendfunc_immotalFire()}}if(prop=="multiCreate"){if(mod_recover_saveData[prop]!=chk_multiCreate()){appendfunc_multiCreate()}}if(prop=="female"){if(mod_recover_saveData[prop]!=chk_female()){appendfunc_female()}}if(prop=="offalNOTmeat"){if(mod_recover_saveData[prop]!=chk_offalNOTmeat()){appendfunc_offalNOTmeat()}}if(prop=="DurMax"){if(mod_recover_saveData[prop]!=chk_DurMax()){appendfunc_DurMax()}}if(prop=="Aberrant"){if(mod_recover_saveData[prop]!=chk_Aberrant()){appendfunc_Aberrant()}}}}mod_recover_load();$("#actionsopen").parent().on("click","#mod_recover_visible",function(a){if($("#mod_recover_window").dialog("isOpen")){$("#mod_recover_window").dialog("close")}else{$("#mod_recover_window").dialog({width mod_recover_saveData.width,height 140,autoOpen true,closeOnEscape false});$("#recover").parent().parent().parent().css("top",mod_recover_saveData.top);$("#recover").parent().parent().parent().css("left",mod_recover_saveData.left)}})}else{var delTargetElement=document.getElementById("mod_recover_root");delTargetElement.parentNode.removeChild(delTargetElement);delTargetElement=document.getElementById("mod_recover_visible");delTargetElement.parentNode.removeChild(delTargetElement);delTargetElement=document.getElementById("mod_multiCreate_frame");delTargetElement.parentNode.removeChild(delTargetElement);$("#mod_multiCreate_frame").off("click","#mod_multiCreate");$("#mod_recover_window").dialog("destroy");$("#mod_recover_window").dialog("widget").remove();delete delTargetElement}; インベントリエディタ ver0.01c +... //試作品、オプションウィンドウの下に貼り付きます、再読み込みで消滅します //値を編集後、「update」ボタンを押すと適用されます //アイテムを落として拾い直したりすると内部ID(アイテム名の右側の数字)が変わるので、使用前に逐次「Refresh」ボタンを押してください //コンテナ・カバンの中身や地面に落ちているアイテム等、メインインベントリに入っていないアイテムは対象外です //PCのスペックにも依存しますが、IDが大きくなってくると処理が遅くなりますので、再起動の目安にもどうぞ //内部的なDecay(使用期限)無しは-1です、-1の値が入っている時は背景が灰色になります // 未実装・不具合等 //数値を入力すべきボックスに文字や全角数字を入力するとそのうちNaNエラーが出ると思います(未検証)、半角数字で入力してください //品質を変更しても枠線の色は変わりません、従来どおり捨てて拾い直す必要がありますが、その際はRefreshボタンも忘れずに //入力ボックスの背景が灰色の箇所は処理を飛ばしています、Decayなど、-1にしたものを再度5000などの有効な数値に変更することはできません //[修正済]フルキー1~9を押すとクイックスロットのアイテムを使用してしまうため、数字を入力する際は必ずテンキーを使用してください //ver0.01bでキーバインド割り込み処理を追加しました、テキストボックス入力にフルキーも使用できます(砂型を投げたりする事故が防げます) //但し、上に紹介のある「大きなミニマップ」等の、ui.$documentのkeydown処理を書き換えるmodを後から読み込むと割り込み処理が解除されます //キーバインドを書き換えるmodよりも後に読み込めば両方動きます //ver0.01c 耐久等の数値を書き換える際に文字列型になっていたバグを今更修正 // Messages.debug="_0_";var ignoreID=["itemCheat_curdurability","itemCheat_maxdurability","itemCheat_decayable","itemCheat_bonusValue"];var appendkeybind=$._data(ui.$document.get(0), "events")["keydown"][0].handler.toString();if(appendkeybind.indexOf(ignoreID[0])==-1){var basekeybindstr="ui.$code.is";var tmpkeybindstr= (" focus")){return true}else if($("#ignoreID[i]").is ;var keybindstr="";for(var i=0;i =ignoreID.length;i++){keybindstr=keybindstr+tmpkeybindstr.replace("ignoreID[i]",ignoreID[i])}appendkeybind=appendkeybind.replace(basekeybindstr,basekeybindstr+keybindstr);ui.$document.unbind("keydown").bind("keydown",eval("("+appendkeybind+")"));delete besekeybindstr;delete tmpkeybindstr;delete keybindstr;}if(document.getElementById("itemCheat") === null){$("#optionswindow").append( div id="itemCheat" / );$("#itemCheat").append(" hr p @@mod_invCheat@@ /p ");$("#itemCheat").append( select id="itemCheat_invList" size="8" / );$("#itemCheat_invList").css("float","left").css("margin","5px");for(var i=0;i =player.invItems.length;i++){if(!player.invItems[i]){}else{$("#itemCheat_invList").append( option value=" +i+ " +i+ +items[player.invItems[i].type].name+ /option );}}$("#itemCheat").append( button type="button" id="itemCheat_refresh" Refresh /button nbsp; button type="button" id="itemCheat_update" update /button /p );$("#itemCheat").append( CurDur input id="itemCheat_curdurability" size="5" / nbsp;MaxDur input id="itemCheat_maxdurability" size="5" / );$("#itemCheat").append( Decay nbsp; nbsp; input id="itemCheat_decayable" size="5" / br / );$("#itemCheat").append( div style = "float left" Quality select id="itemCheat_quality" size="4" / nbsp br / /div );$("#itemCheat").append( div style = "float left" Bonus nbsp; select id="itemCheat_bonusType" size="4" / nbsp; input id="itemCheat_bonusValue" size="3" / /div );for(var skillType in player.skills){ $("#itemCheat_bonusType").append( option value= +skillType+ +player.skillTypes[skillType].name+ /option )}$("#itemCheat_quality").append( option value="Normal" Normal /option option value="Remarkable" Remarkable /option option value="Exceptional" Exceptional /option option value="Legendary" Legendary /option );$("#itemCheat").append( div id="itemCheat_clearboth" style="clear both" / );$("#itemCheat").on("click","#itemCheat_refresh",function(e){$("#itemCheat_invList").children().remove();for(var i=0;i =player.invItems.length;i++){if(!player.invItems[i]){}else{$("#itemCheat_invList").append( option value=" +i+ " +i+ +items[player.invItems[i].type].name+ /option );}}});$("#itemCheat").on("click","#itemCheat_quality",function(e){if(itemCheat_quality.value=="Legendary"){$("#itemCheat_bonusType").css("background-color","white");$("#itemCheat_bonusValue").css("background-color","black")}else{$("#itemCheat_bonusType").css("background-color","gray");$("#itemCheat_bonusValue").css("background-color","gray")}});$("#itemCheat").on("click","#itemCheat_invList",function(e){if(player.invItems[itemCheat_invList.value].decay==-1){$("#itemCheat_decayable").css("background-color","gray");}else{$("#itemCheat_decayable").css("background-color","black");}itemCheat_decayable.value=player.invItems[itemCheat_invList.value].decay;itemCheat_curdurability.value=player.invItems[itemCheat_invList.value].mindur;itemCheat_maxdurability.value=player.invItems[itemCheat_invList.value].maxdur;itemCheat_quality.value="Normal";if(player.invItems[itemCheat_invList.value].props!==null player.invItems[itemCheat_invList.value].props!==undefined){itemCheat_bonusType.value=player.invItems[itemCheat_invList.value].props[0];itemCheat_bonusValue.value=player.invItems[itemCheat_invList.value].props[1]}else{itemCheat_bonusType.selectedIndex=-1;itemCheat_bonusValue.value=0}if(player.invItems[itemCheat_invList.value].quality!=""){itemCheat_quality.value=player.invItems[itemCheat_invList.value].quality;if(itemCheat_quality.value=="Legendary"){$("#itemCheat_bonusType").css("background-color","white");$("#itemCheat_bonusValue").css("background-color","black")}else{$("#itemCheat_bonusType").css("background-color","gray");$("#itemCheat_bonusValue").css("background-color","gray")}}else{itemCheat_bonusType.selectedIndex=-1;$("#itemCheat_bonusType").css("background-color","gray");itemCheat_bonusValue.value="0";$("#itemCheat_bonusValue").css("background-color","gray");}});$("#itemCheat").on("click","#itemCheat_update",function(e){if(itemCheat_invList.selectedIndex==-1){ui.message("debug","bad",["TargetItem not selected!"]);}else{if($("#itemCheat_decayable").css("background-color")=="rgb(0, 0, 0)"){player.invItems[itemCheat_invList.value].decay=itemCheat_decayable.value}player.invItems[itemCheat_invList.value].mindur=parseInt(itemCheat_curdurability.value);player.invItems[itemCheat_invList.value].maxdur=parseInt(itemCheat_maxdurability.value);if(itemCheat_quality.value=="Normal"){player.invItems[itemCheat_invList.value].quality=""}else{player.invItems[itemCheat_invList.value].quality=itemCheat_quality.value}if($("#itemCheat_bonusValue").css("background-color")!="rgb(128, 128, 128)"){player.invItems[itemCheat_invList.value].props=[itemCheat_bonusType.value,parseInt(itemCheat_bonusValue.value)]}ui.message("debug","",[itemCheat_invList.value+" "+items[player.invItems[itemCheat_invList.value].type].name+" edited."]);}});}else{var delTargetElement=document.getElementById("itemCheat");delTargetElement.parentNode.removeChild(delTargetElement);} 要望の検証について +... 「耐久値や使用期限が…減る/減らない」(食料だけ、武器・防具だけ、と種類別で指定できるのも良いかと) ◆状況 減る/減らないの処理は[taintFree]ボタンにて適用済、※アイテムの種類ごとの指定は手間がかかるので取下げ [アイテムの種類の判別方法(例)] 武器 if(items.[obj.type].damageType != undefined){ 武器用の処理 } 防具 if(items.[obj.type].equip != undefined items.[obj.type].equip != "held"){ 防具用の処理 } 食料 if(items.[obj.type].use != undefined){if(items.[obj.type].use[0] == "eat"){ 食料用の処理 } 「アイテムを入手した際における耐久値(m/n)は…ゲーム仕様に戻す/常にm=nの新品状態で入手」 ◆状況 未着手 itemGet()の先頭にitem.mindur=items[item].maxdur;を追加する、craftItemのランダム処理を潰す itemGet=eval("("+itemGet.toString().replace(";placeItem",";item.mindur=items[item.type].maxdur; placeItem")+")"); (未完成っぽい、上記だとCraft時に耐久減ったものができるので追加のコードが必要) 地面から拾った時に耐久が1減る(耐久の増減の④と⑤)処理については未調査 「自キャラ正面のパネルで燃えている火を…ゲーム仕様に戻す/何も燃やさず直ちに消す/そこに可燃物(地形、アイテム)がある場合は一瞬で燃やしつくして直ちに消火」 ◆状況 未着手 (スイッチで機能を選択して「消火」ボタンを押下、隣接するパネルへ延焼せずに消火) →何も燃やさず直ちに消すのは、player.actions.startFire()辺りにchangeTile(type "ash",以下未調査)を仕込めばできそう 可燃物の消滅は上記に加えてdropAllExcendと同じ処理をtileItemsに対して回せばできそう 「「ペミカン」を製作する素材として「内臓」を…使用する/使用しない」(「マジカルエッセンス」製作用に「内臓」をインベントリに残して置きたい場合) →これは、内臓のグループを解除すればいいのかな、多分肥料の材料にもしたくないと思うので ◆状況 [offalMeat]で実装予定 消す場合 delete items.offal.grouping; 戻す場合 items.offal.grouping=["compost","meat"]; 「徒歩による移動速度は地形の影響を…受ける/受けない」(進入不可なタイルは除く) →これはrender()の中身を把握した上で、移動ウェイトの直前に[player.x+player.direction.x][player.y+player.direction.y]の位置のタイルを判定してdelayを増減するものを差し込む形になるのかな、すぐには見当つかないです・・・ ◆状況 未着手、というか実装できる気がしないです 「プレイヤーの近くにいる鶏が各ターンに確率で卵を産む(鶏の数が多いと卵を産まなくなる)」 →次のコードを保存し、先頭の数値を書き換えてから読み込んでみてください //=== ここから === var posRange = 10; //自分と指定したマス以上離れていれば生成を行わない var firechance = 40; //ファイアエレメントが炎を撒き散らす確率、低いほど確率が上がる、0を指定すると100%落ちる var swampchance = 40; //ボグリングが足元を沼にする確率、同上 var trapchance = 200; //ホブゴブリンがくくり罠を設置する確率、同上 var eggchance = 2000; //ニワトリがタマゴを落とす確率、同上 var featherchance = 400; //ハーピーが羽を落とす確率、同上 var rangequalify = " game.monsters[monster].x player.x-posRange game.monsters[monster].x player.x+posRange game.monsters[monster].y player.y - posRange game.monsters[monster].y player.y + posRange"; monsterMove=eval("("+monsterMove.toString().replace("(Math.floor(Math.random() * 40 + 1) === 1)","(Math.floor(Math.random() * "+firechance+" + 1)===1"+rangequalify+")").replace("(Math.floor(Math.random() * 40 + 1) === 1)","(Math.floor(Math.random() * "+swampchance+" + 1)===1"+rangequalify+")").replace("(Math.floor(Math.random() * 2000 + 1) === 1)","(Math.floor(Math.random() * "+eggchance+" + 1)===1"+rangequalify+")").replace("(Math.floor(Math.random() * 200 + 1) === 1)","(Math.floor(Math.random() * "+trapchance+" + 1)===1"+rangequalify+")").replace("(Math.floor(Math.random() * 400 + 1) === 1)","(Math.floor(Math.random() * "+featherchance+" + 1)===1"+rangequalify+")")+")"); delete posRange;delete firechance; delete swampchance; delete trapchance;delete eggchance;delete featherchance;delete rangequalify; //=== ここまで === なお、上記ではposRangeで設定した距離以上離れている全てのモンスターのドロップ判定がキャンセルされますので、ニワトリのタマゴの確率だけを操作したいのであれば次のコードを //=== ここから === var posRange = 10; //自分と指定したマス以上離れていれば生成を行わない var eggchance = 2000; ////ニワトリがタマゴを落とす確率、低いほど確率が上がる、0を指定すると100%落ちる var rangequalify = " game.monsters[monster].x player.x-posRange game.monsters[monster].x player.x+posRange game.monsters[monster].y player.y - posRange game.monsters[monster].y player.y + posRange"; monsterMove=eval("("+monsterMove.toString().replace("(Math.floor(Math.random() * 2000 + 1) === 1)","(Math.floor(Math.random() * "+eggchance +" + 1)===1"+rangequalify+")")+")"); delete posRange;delete eggchance;delete rangequalify; //=== ここまで === 技術情報 +... ◇内部処理の書き換えについて ①元処理の取得方法 ●タイプA(普通の関数) var basefunc = passTurn.toString(); ●タイプB(イベントドリブン) var basefunc = $._data( $obj .get(0), "events")[ action ][0].handler.toString(); ②処理の書き換え basefunc.toString().replace("置換前","置換後"); ③処理の書き戻し ●タイプA passTurn = eval("("+basefunc+")"); ●タイプB $obj .unbind( action ).bind( action ,eval("("+basefunc+")"); a) 私が使用している「普通の関数」の書き換え方法は、上記①②③が全部セットになって1行で動作します 例) passTurn = eval("("+passTurn.toString().replace("置換前","置換後")+")"); b) タイプB「イベントドリブン」は、「マウスが押された時」「キーが押された時」「ページが更新された時」などの処理です 私がキーバインド割り込みと呼んでいるものはこちら側の処理です ui.$document.unbind("keyup").bind("keyup",eval("("+[元処理参照].replace("置換前","置換後")+")")と 記述すると、unbind完了後(元処理削除後)に元処理参照が行われて空の関数が返ってきてしまうので、変数を使います 良い例 先に変数basefuncに元処理を格納 ①と②var basefunc = $._data(ui.$document.get(0), "events")["keyup"][0].handler.toString().replace("置換前","置換後"); ③ui.$document.unbind("keyup").bind("keyup",eval("("+basefunc+")")); 悪い例 unbindの後に処理内容を参照している ui.$document.unbind("keyup").bind("keyup",eval("("+$._data(ui.$document.get(0), "events") ["keyup"][0].handler.toString().replace("置換前","置換後")+")"); この場合、$._data(以下略)["keyup"][0].handler.toString() はunbind()後なので空の関数が返ってきてしまいます ◇スイッチ化について(いろいろボタンの構成) basefunc.indexOf()を使用しています、basefuncの取り方は上に記載したとおりです if(basefunc.indexOf("識別文字")==-1){ 置換処理 } else { 戻す処理 } ①ボタンの追加処理 $( #obj ).append( button id = "ボタン名" 表示文字 /button ); ②既に書換が済んでしているかどうか判定(書き換えられているなら背景を指定した色に) if(basefunc.indexOf("識別文字")!=-1){ $("#ボタン名").css("background-color","色指定"); } ③ボタンの押下処理 $( #obj ).on("click","#ボタン名",function(e){ if(basefunc.indexOf("識別文字")==-1){ 置換処理; 色変更処理(ON); } else { 戻す処理; 色変更処理(OFF) } }); ←jQueryは関数の閉じカッコに気を付けましょう、functionの終わり"}"とonの終わり");" ◇複数箇所の置換と復帰について replace()関数は、最初に見つかったものだけを置き換えます "abcdabcd".replace("abcd","ABCD")の結果は "ABCDabcd"になります "ABCDABCD"に変換したい場合は "abcdabcd".replace("abcd","ABCD").replace("abcd","ABCD")とする必要があります これを利用して、識別文字を割り当てることができます 識別文字の作成方法 ①"console.log( この部分は置換済 );" 等の意味の無い処理をを後ろに付ける方法(値の書き換え等で使用、文字は適当) ②"if(0 === 0)", "if(0 === 1)" などで分岐を操作する方法 などがありますが、②について、"if(0 === 0)", "if(0===0)", "if(0=== 0)", "if(0 ===0)", "if(0 === 0)"のように 書換後の処理が同じでも半角スペースの場所を変えることによって置換したものを戻す場所を特定できます (可読性は犠牲になりますが) 補足情報(蛇足とも言う) ①var と delete var basefunc; → basefuncという変数を宣言します delete basefunc; → basefuncという変数を削除します 基本的に、いらない変数は処理の最後に削除してしまう方がよいのですが、ボタン化した場合などは特に、 むやみにdeleteするとエラーの原因になりますので気を付けましょう。ちなみにdeleteですが、値を削除しますので for(var itm in items){if(items[itm].decay){delete items[itm].decay}} このような使い方をすると、以降生成されるアイテムの使用期限(decay)が全てなくなったりします ②eval()について eval(str)は、strを関数として解釈するための命令ですが、前後にカッコを付ける必要があります 悪い例 eval("function(void){ a = 1; }"); 良い例 eval("(" + "function(void){ a = 1; }" + ")"); さいごに 名前付けの規則だったりスペースを入れる場所だったり、本職の方から見たら許せないような箇所も たくさん見受けられるかと思いますが、私はプログラマでもなんでもない独学でやっているだけの 素人ですので、ご容赦頂ければと思います。 日本語化(野良Mod) 有志による日本語化対応 ※最新版は MOD(日本語化) へ。 旧版は編集の邪魔になるので削除。 匿名Mod ミニModを不定期に追加していきます ※一部のコードはコメントアウトしてますが、これはModPackとしてまとめて使用しても癖の少ない変更点で抑えるために行っているためです。 有効にしたいときは、コメント文「//」を削除してください。 +... //-------------------------------------------------- //匿名ModPack ver0.03 //-------------------------------------------------- //匿名Mod 導入必須 ver0.03 //当MOD導入に必要(関数変更関数を関数インスタンスから実行できる関数を関数で登録する無名関数(MODのコメントにPatchFixのPFがあればこれが前提に必要となる) (function(){Function.prototype.funcreplace=function(){var s=this.toString().substring(this.toString().indexOf("{")+2,this.toString().lastIndexOf("}")-1);for(var i=0;i arguments.length-1;i+=2)s=s.replace(arguments[i],arguments[i+1]);return s;}})() //当MOD導入に必要(関数を1つ追加 MODのコメントにStyleSheetのSSがあればこれが前提に必要となる) styleSheet=function(){for(var i=0;i arguments.length;i++)document.styleSheets[0].insertRule(arguments[i], document.styleSheets[0].cssRules.length)}; //------------------------- //匿名Mod 修正版 ver0.03 //バッグを開いてる時にアイテムを右クリックするとバッグへ入るように修正する(PF 通常は地上に落とす) dropItem=new Function( itemId , location , dropAll ,dropItem.funcreplace( var fireDrop = false; , if(game.containerOpened.containerType===\ INV\ ){location=\ INV\ ;};var fireDrop = false; )); //箱とバッグからアイテムを取り出せなくなるバグを修正する(PF) moveToInventoryFromContainer=new Function( invId , moveAllItems ,moveToInventoryFromContainer.funcreplace( var cont = envItems[containerId].container; , var cont = null; , var item = cont[invId]; , if(cont==null)cont = envItems[containerId].container;var item = cont[invId]; )); // 連続してクラフトすると移動できなくなる時間ができるバグを修正する(PF) craftItem=new Function( craftType ,craftItem.funcreplace( game.delay += 10; , game.delay = 10; )); // 入れ物ウィンドウが開いてる場合で、箱の中身が入っていない時に箱を掘り出すと入れ物ウィンドウが閉じないバグを修正する(PF) game.isValidPickUp=new Function( envItemId ,game.isValidPickUp.funcreplace( return true; , if(game.containerOpened.containerType==="ENV" envItems[envItemId].container envItems[envItemId].container.length==0)closeContainer();return true; )); //「全て今開いている入れ物に入れる」にて道具が入りきれなくなったら処理を中断させるように修正(PF) dropItem=new Function( itemId , location , dropAll ,dropItem.funcreplace( finishItemDrop(playerItem, location, containerId); , if(!finishItemDrop(playerItem, location, containerId))break; )); //箱とバッグ内部に溜まる不要な情報を削除する(削除するのはnullだけなので恐らく安全 動作速度を若干向上しながらセーブデータ容量を少し減らす) closeContainer=new Function(closeContainer.funcreplace( game.containerOpened.containerType = ""; , if(game.containerOpened.id =0 game.containerOpened.containerType){var f=game.containerOpened.containerType==="ENV"?envItems[game.containerOpened.id] player.invItems[game.containerOpened.id];if(f f.container f.container.length 0){f=f.container;var r=f.length;for(var i=0;i r;i++){if(f[i]==null){f.splice(i--,1);r--;}}}};game.containerOpened.containerType = ""; )); // アイテムのコンディションが赤に表示している場合、修理すると元のコンディションに戻るように修正(PF 補強すると変化するでは効果はありません、そもそも対応させるのが面倒なので…) player.actions.repair=new Function( invId , invClass , containerId , bypassId ,player.actions.repair.funcreplace( item.mindur = item.maxdur; , item.mindur=item.maxdur;if(item.mindur 2){if(containerId){ui.$container.find(\ .item[data-itemid=\"\ +bypassId+\ \"]\ ).removeClass(\ damaged\ );}else{ui.$inventoryEquip.find(\ .item[data-itemid=\"\ +bypassId+\ \"]\ ).removeClass(\ damaged\ );}}; )); //設置した箱のアイテムは一切腐らなくなる(PF 大量にアイテムを保管してるワールド(容量が数MB以上)で20歩毎に発生する負荷を軽減する) // environmentalDecay=new Function( envId ,environmentalDecay.funcreplace( decayItemsInContainer(envId, envItems[envId].container, \"ENV\"); , )); //地上に置いたバッグのアイテムは一切腐らなくなる(PF 地上にバッグを置く人向けに負荷を軽減する) // passTurn=new Function( move ,passTurn.funcreplace( decayItemsInContainer(tileItemsKey[i2], tileItems[tileItemsKey[i2]].container, \"TILE\"); , )); // スキル・実績のウィンドウが開いてる時に行動すると負荷が上がるのを抑える(PF HTML情報に変化がなければ更新しない、ブラウザによってはこの問題を解決してる事があるためその場合は効果がない) player.skillGain=new Function( skillType , mod , bypass ,player.skillGain.funcreplace( ui.$skills.html(skillOutput); , if(skillOutput!=ui.$skills[0].innerHTML)ui.$skills.html(skillOutput); )); addMilestone=new Function( milestone ,addMilestone.funcreplace( ui.$milestones.html(milestonesOutput); , if(milestonesOutput!=ui.$milestones[0].innerHTML)ui.$milestones.html(milestonesOutput); )); //ミニマップを無効にする(PF 移動時の負荷を軽減する) // $( #miniMapCanvas ).remove();updateMiniMap=false;statbar=[];passTurn=new Function( move ,passTurn.funcreplace( game.updateMiniMap = true; , )); //------------------------- //匿名Mod ゲームUI版 ver0.03 //ウィンドウの表示枠を大きくする(SS 表示の無駄をかなり減らす事ができる) // styleSheet(".ui-dialog .ui-dialog-content{width auto !important;padding 0px !important;}",".ui-dialog {height auto !important;}",".ui-dialog .ui-dialog-titlebar,.ui-dialog .ui-dialog-buttonpane,.ui-dialog-buttonset .ui-button,.ui-button .ui-button-text,.filter{padding 0px !important;margin 0px !important;}","#inventory li,#craft div,#equipment .equip, #container li{margin 0px !important;}",".fontstyle, .fontstyle button{line-height 12px !important;}"); //閉じるボタンを縮小する(SS 「ウィンドウの表示枠を大きくする」と組み合わせる事を推奨) // styleSheet(".ui-dialog .ui-dialog-titlebar-close{margin 0px !important;top auto !important;right 0px !important;padding 5px 8px !important;background none !important;width auto !important;height auto !important;}"); // ウィンドウの背景をより薄くする(SS アイテムも透明化になると不便なのでこちらは色を付ける) // styleSheet(".ui-dialog .ui-dialog-content{background none !important;}",".ui-dialog not([aria-describedby=equipmentwindow]) .ui-dialog-content, #inventory li, #container li, #craft div not(.crafted), .equip li, .equip empty{background-color rgba(4, 4, 4, 0.4) !important;}",".equip not( empty){background none !important;}","#craft div.crafted not( hover){border-color transparent !important;}"); //ステータスバーの色を薄く&透明度をつける(SS 個人的に色が濃すぎてちょっと目に優しくないな、と) // styleSheet("#health{background none repeat scroll 0% 0% rgba(100%, 0%, 10%, 0.6) !important;}","#stamina{background none repeat scroll 0% 0% rgba(0%, 90%, 10%, 0.6) !important;}","#hunger{background none repeat scroll 0% 0% rgba(90%, 0%, 100%, 0.6) !important;}","#thirst{background none repeat scroll 0% 0% rgba(0%, 50%, 100%, 0.6) !important;}"); //クラフトウィンドウの制作できないアイテムを目立たせる // styleSheet("#craft div.crafted{box-shadow 0px 0px 10px rgba(255, 0, 29, 0.6) inset;}"); //マップを拡大しないようにする(SS マップが大きすぎる、といった場合に有効) // styleSheet(".map, #miniMapCanvas{min-width 114px !important;width 114px !important;height 114px !important;}"); //メッセージボックスを非表示にする(SS 邪魔!と思った方にお勧めです) // styleSheet("#messageoverlay{display none !important;}"); //メッセージボックスを左から右に移動する(SS) // styleSheet("#messageoverlay{left auto !important;right 0px;}"); //メッセージウィンドウの背景を透明にする(SS メッセージクリアボタンも削除) // styleSheet("#messageswindow,[aria-describedby=messageswindow] .ui-dialog-titlebar,[aria-describedby=messageswindow] .ui-dialog-buttonpane{background none !important;}","[aria-describedby=messageswindow] .ui-dialog-buttonset{display none !important;}"); //-------------------------------------------------- アイテムの枠の色を適正化 補強と変化でアイテムの状態が変わったときに枠の色を適切にする。 ※匿名Mod(Pack ver0.03)の導入が必須です。匿名Modの更新次第でこのスクリプトは必要なくなるまたは使えなくなる可能性があります。 対応バージョン DL版 Beta 1.9.2(Windows) +... //匿名Modの「player.actions.repair=new Function~」の部分の次の行に挿入して使ってください。 //補強 player.actions.reinforce=new Function( invId , invClass , containerId , bypassId ,player.actions.reinforce.funcreplace( ui.message("reinforce", \ normal\ ); , if(item.mindur 2){ui.$inventoryEquip.find(\ .item[data-itemid="\ +bypassId+\ "]\ ).removeClass(\ damaged\ );}ui.message("reinforce",\ normal\ ); )); //変化 player.actions.transmogrify=new Function( invId , invClass , containerId , bypassId ,player.actions.transmogrify.funcreplace( item.quality = "Legendary"; , var old_quality=item.quality;item.quality="Legendary";ui.$inventoryEquip.find(\ .item[data-itemid="\ +bypassId+\ "]\ ).removeClass(old_quality.toLowerCase()).addClass(item.quality.toLowerCase()); , item.mindur = legendary.maxDur; , item.mindur=legendary.maxDur;if(item.mindur 2){ui.$inventoryEquip.find(\ .item[data-itemid="\ +bypassId+\ "]\ ).removeClass(\ damaged\ );} )); //ここからはDL版で匿名Modを導入しても修理で枠の色が戻らない場合 //「player.actions.repair=new Function~」の一行を下記のものと入れ替えてください。 //player.actions.repair=new Function( invId , invClass , containerId , bypassId ,player.actions.repair.funcreplace( item.mindur = item.maxdur; , item.mindur=item.maxdur;if(item.mindur 2){ui.$inventoryEquip.find(\ .item[data-itemid="\ +bypassId+\ "]\ ).removeClass(\ damaged\ );} )); Enjoy Life 独自のゲーム性を目指して途中まで制作していたModです このプログラムはコピー・改造して構いませんので、Mod制作にご活用ください 特徴:アイテム・モンスターの一部に独自の画像を使用、レシピを変更、固定のマップ、 モンスターの動きを変更、細かい時間管理、マイルストーン変更、雨が降るなど 操作:Actionsメニューから寝具なしで眠れます。Rキーで休憩できます ダウンロード 対応バージョン:Beta 1.9.2 β2.9.6-steam +とりあえず編集時判明部分のみ とりあえず編集時判明部分のみ ゲーム中にF10を押して最上部の[Console]を選択、最下部 のボックスに入力すると適用されます 体力・スタミナ・満腹度・喉の渇き 最大値まで回復します localPlayer.stat.stats.Health.value=localPlayer.stat.stats.Health.max; localPlayer.stat.stats.Stamina.value=localPlayer.stat.stats.Stamina.max; localPlayer.stat.stats.Hunger.value=localPlayer.stat.stats.Hunger.max; localPlayer.stat.stats.Thirst.value=localPlayer.stat.stats.Thirst.max; 最大スタミナ・満腹度・喉の渇き 最大値を指定した値に再設定します、体力は別管理のようです localPlayer.stat.stats.Stamina.max=32000; localPlayer.stat.stats.Hunger.max=500; localPlayer.stat.stats.Thirst.max=500; 善行ポイント・悪行ポイント倍率 行動による評判値の変動倍率を変更します、累積評判値が下がると強い敵が発生しやすくなります localPlayer.gameOptionsCached.reputation.malignityMultiplier=-1; localPlayer.gameOptionsCached.reputation.benignityMultiplier=10; 最大所持重量 重量制限を指定した値に再設定します、力が上がって再計算されると元に戻るのでその都度入力が必要です localPlayer.stat.stats.Weight.max=90000; 所持品の一括修理 所持品の耐久度をMAXまで回復します for(i=0;i =localPlayer.inventory.containedItems.length-1;i++){localPlayer.inventory.containedItems[i].minDur=localPlayer.inventory.containedItems[i].maxDur} 所持品の重量ゼロ カバンの内容物や設置された収納箱の中身には影響しません、weightMultiplierの値をマイナスにすると更にたくさん持つこともできます、この変更値はセーブされません var weightMultiplier=0; for(i=0;i =localPlayer.inventory.containedItems.length-1;i++){ localPlayer.inventory.containedItems[i].weight=weightMultiplier} 所持品の腐敗までの時間延長 カバンの内容物や設置された収納箱の中身には影響しません for(i=0;i =localPlayer.inventory.containedItems.length-1;i++){if(localPlayer.inventory.containedItems[i].decay)localPlayer.inventory.containedItems[i].decay=999999}} ※所持品以外には適用されませんが木の棒を装備して着火するとDecayの値が設定されます その状態でこのコマンドを実行して装備品の着火した木の棒を右クリックしてBuildを選び 地面に立てると半永久の火源になり常に調理ができます、セーブ&ロードしても保持されます また、このたいまつの斜めに金床を設置することで同じく常に利用できるようになります 上記修理・重量・腐敗時間統合 for(i=0;i =localPlayer.inventory.containedItems.length-1;i++){localPlayer.inventory.containedItems[i].minDur=localPlayer.inventory.containedItems[i].maxDur;if(localPlayer.inventory.containedItems[i].decay){localPlayer.inventory.containedItems[i].decay=999999}localPlayer.inventory.containedItems[i].weight=0} 宝の地図を自分の足元に設定する、使用済みの場合は未使用に戻す for(i=0;i =localPlayer.inventory.containedItems.length-1;i++){if(localPlayer.inventory.containedItems[i].type==121){localPlayer.inventory.containedItems[i].tatteredMap.x=localPlayer.x;localPlayer.inventory.containedItems[i].tatteredMap.y=localPlayer.y;if(typeof localPlayer.inventory.containedItems[i].used==="undefined"){}else{delete localPlayer.inventory.containedItems[i].used}}} 新しく生成されるアイテムの重量を0.1に固定する 地下の岩を掘ったら適用されていなかったり、詳細検証中 for(i=0;i =511;i++){itemManager.cachedWeights[i] ={static 0,max 0,min 0}} 所持している箱の容量拡張 インベントリ内にある収納アイテム8種に容量増加(+99999)を付与します、既に設置されている収納箱には影響しません カバン・リュック・矢筒の比較を=から==に修正 for(i=0;i =localPlayer.inventory.containedItems.length-1;i++){if(localPlayer.inventory.containedItems[i].type==132||localPlayer.inventory.containedItems[i].type==280||localPlayer.inventory.containedItems[i].type==281||localPlayer.inventory.containedItems[i].type==288||localPlayer.inventory.containedItems[i].type==381||localPlayer.inventory.containedItems[i].type==88||localPlayer.inventory.containedItems[i].type==126||localPlayer.inventory.containedItems[i].type==224){localPlayer.inventory.containedItems[i].quality=4;localPlayer.inventory.containedItems[i].legendary = {type 3, value 99999}}} プレイヤーの位置 pos()で現在の位置を取得、tp(x,y,z)で指定座標へ移動、z=1で地上、z=0で地下、zは省略可能 mons()で敵の右隣に移動、左に移動すると先制攻撃、カッコ内に数値を入れると指定した数の敵をスキップ 拠点の近くにヤギなどを繋いで敵を倒していくとmons()を呼び出すと拠点に戻れるようになる、次の敵はmons(1)で探せる function pos(){if(localPlayer.z==1){console.log("地上 "+localPlayer.x+","+localPlayer.y+")")}else{console.log("地下 "+localPlayer.x+","+localPlayer.y+")")}};function tp(x,y,z=-1){localPlayer.x=x;localPlayer.y=y;if(z==0||z==1){localPlayer.z=z}}function mons(skip=0){for(i=0;i =island.creatures.length-1;i++){if(island.creatures[i]!==undefined){if(skip =0){localPlayer.x=island.creatures[i].x+1;localPlayer.y=island.creatures[i].y;localPlayer.z=island.creatures[i].z;console.log("ID="+i+" "+island.creatures[i].type);skip=-99;break}else{skip--}}}if(skip!=-99){console.log("全てのモンスターを撃破済です")}} +steam2.9.6用スイッチ steam2.9.6用スイッチ(仮) //本体部分(v0.1) typeof userDiv!="undefined" document.body.removeChild(userDiv);userDiv=document.createElement("mod_switch");userDiv.innerHTML=" div class= sw_move style= position absolute;padding 2px;font-size 10px;font-color white;border 1px solid;top 50px;left 100px;width 300px;background-color gray;z-index 999 id= txt steam2.9.6用スイッチ(仮) br / input type=button style= background-color red;color white;padding 1px id= btn1 value= HP onClick= sw.healHP() nbsp; input type=button style= background-color lime;color white;padding 1px id= btn2 value= ST onClick= sw.healST() nbsp; input type=button style= background-color purple;color white;padding 1px id= btn3 value= 空腹 onClick= sw.healHunger() nbsp; input type=button style= background-color cyan;color black;padding 1px id= btn4 value= 水分 onClick= sw.healThirst() nbsp; input type=button style= background-color yellow;color black;padding 1px id= btn5 value= BAD onClick= sw.healBAD() nbsp; input type=button style= background-color black;color white;padding 1px id= btn6 value= 全て onClick= sw.healALL() | input type=button style= background-color black;color white;padding 1px id= btn7 value= 自動回復(継続) onClick= sw.toggleHeal() br / input type=button style= background-color black;color white;padding 1px;margin-top 1px id= btn20 value= 箱容量+ onClick= sw.box() nbsp; input type=button style= background-color black;color white;padding 1px;margin-top 1px id= btn20 value= 所持重量0 onClick= sw.weight0() nbsp; input type=button style= background-color black;color white;padding 1px;margin-top 1px id= btn21 value= 重量0(継続) onClick= sw.toggleWeight0() nbsp; span id= span21 nbsp; nbsp; \/span hr / input type=button style= background-color black;color white;padding 1px;margin-top 1px id= btn10 value= 次の設置物 onClick= sw.doods() nbsp; select id= selDoodQuality style= background-color black;color white onClick= sw.doodCount() option value=1 品質指定無 \/option option value=0 Normal \/option option value=2 Remarkable \/option option value=3 Exceptional \/option option value=4 Legendary \/option \/select nbsp;スキップ数 nbsp; input type=button style= background-color black;color white;padding 1px;width 10px id= btn11 value= - onClick= sw.doodminus() nbsp; span id= doodskip 0 \/span nbsp; input type=button style= background-color black;color white;padding 1px;width 10px id= btn12 value= + onClick= sw.doodplus() nbsp; input type=button style= background-color black;color white;padding 1px;width 10px id= btn13 value= 0 onClick= sw.doodreset() nbsp; span id= doodCount 計0個 \/span br / input type=button style= background-color black;color white;padding 1px;margin-top 1px id= btn30 value= NPCへ移動 onClick= sw.moveNPC() nbsp; select id= selNPC style= color white;background-color black \/select nbsp; input type=button style= background-color black;color white;padding 1px;margin-top 1px id= btn31 value= 再取得 onClick= sw.getNPC() hr / span id= uLog \/span ";document.body.appendChild(userDiv);sw={};sw.log=function(n){$("#uLog").text(n)};sw.healHP=function(n=false){localPlayer.stat.stats.Health.value=localPlayer.stat.stats.Health.max;n==!1 sw.log("HPを回復しました")};sw.healST=function(n=false){localPlayer.stat.stats.Stamina.value=localPlayer.stat.stats.Stamina.max;n==!1 sw.log("スタミナを回復しました")};sw.healHunger=function(n=false){localPlayer.stat.stats.Hunger.value=localPlayer.stat.stats.Hunger.max;n==!1 sw.log("満腹になりました")};sw.healThirst=function(n=false){localPlayer.stat.stats.Thirst.value=localPlayer.stat.stats.Thirst.max;n==!1 sw.log("水分を補給しました")};sw.healBAD=function(n=false){localPlayer.status.Bleeding=!1;localPlayer.status.Poisoned=!1;localPlayer.status.Burned=!1;n==!1 sw.log("出血・毒・火傷を治療しました")};sw.healALL=function(n=false){sw.healHP(!0);sw.healST(!0);sw.healHunger(!0);sw.healThirst(!0);sw.healBAD(!0);n==!1 sw.log("完全回復しました")};sw.toggleHeal=function(){$("#btn7").css("color")!="rgb(255, 0, 0)"?($("#btn7").css("color","red"),clearInterval(sw.cure),sw.cure=setInterval(function(){sw.healALL(!0)},2e3),sw.log("自動回復(2秒毎)が有効になりました")) ($("#btn7").css("color","white"),clearInterval(sw.cure),sw.log("自動回復が無効になりました"))};sw.w0=0;sw.toggleWeight0=function(){$("#btn21").css("color")!="rgb(255, 0, 0)"?($("#btn21").css("color","red"),clearInterval(sw.w0),sw.w0=setInterval(function(){sw.weight0(!0)},2e3),sw.log("自動重量0/耐久回復が有効になりました")) ($("#btn21").css("color","white"),clearInterval(sw.w0),$("#span21").css("background-color","gray"),sw.log("自動重量0/耐久回復が無効になりました"))};sw.box=function(){for(cnt=0,i=0;i =localPlayer.inventory.containedItems.length-1;i++)(localPlayer.inventory.containedItems[i].type==132||localPlayer.inventory.containedItems[i].type==280||localPlayer.inventory.containedItems[i].type==281||localPlayer.inventory.containedItems[i].type==288||localPlayer.inventory.containedItems[i].type==381||localPlayer.inventory.containedItems[i].type==88||localPlayer.inventory.containedItems[i].type==126||localPlayer.inventory.containedItems[i].type==224) (localPlayer.inventory.containedItems[i].quality=4,localPlayer.inventory.containedItems[i].legendary={type 3,value 99999},cnt++);cnt 0?sw.log("所持している収納アイテム"+cnt+"個に容量増加を付与しました") sw.log("収納アイテムを所持していません")};sw.map=function(n=false){if(n==!0)for(i=0;i =localPlayer.inventory.containedItems.length-1;i++)localPlayer.inventory.containedItems[i].type==121 typeof localPlayer.inventory.containedItems[i].used!="undefined" delete localPlayer.inventory.containedItems[i].used;for(i=0;i =localPlayer.inventory.containedItems.length-1;i++)if(localPlayer.inventory.containedItems[i].type==121 typeof localPlayer.inventory.containedItems[i].used=="undefined"){localPlayer.inventory.containedItems[i].tatteredMap.x=localPlayer.x;localPlayer.inventory.containedItems[i].tatteredMap.y=localPlayer.y;localPlayer.inventory.containedItems[i].tatteredMap.z=localPlayer.z;console.log("Map "+i+" location="+localPlayer.inventory.containedItems[i].tatteredMap.x+","+localPlayer.inventory.containedItems[i].tatteredMap.y);break}sw.log("地図ID "+i+"を足元に設定しました")};sw.pos=function(){localPlayer.z==1?console.log("[1]地上 ("+localPlayer.x+","+localPlayer.y+")") console.log("[0]地下 ("+localPlayer.x+","+localPlayer.y+")")};sw.tp=function(n,t,i=-1,r=0){r!=0?(localPlayer.x+=n,localPlayer.y+=t) (localPlayer.x=n,localPlayer.y=t);(i==0||i==1) (localPlayer.z=i)};sw.defaultWeight=function(){for(i=0;i =511;i++)itemManager.cachedWeights[i]={static 0,max 0,min 0}};sw.defaultWeight();sw.mons=function(n=0){for(i=0;i =island.creatures.length-1;i++)if(island.creatures[i]!==undefined)if(n =0){localPlayer.x=island.creatures[i].x+1;localPlayer.y=island.creatures[i].y;localPlayer.z=island.creatures[i].z;sw.log("ID="+i+" "+island.creatures[i].type+"["+sw.monsStr(island.creatures[i].type)+"の右横へ移動しました]");n=-99;break}else n--;n!=-99 sw.log("全てのモンスターを撃破済です")};sw.monsStr=function(n){return sw.monsList[n]==undefined?"==unknown==" sw.monsList[n]};sw.tileev=function(n=0){for(tileev_found=!1,i=0;i =island.tileEvents.length-1;i++)if(typeof island.tileEvents[i]!="undefined")if(n =0){sw.tp(island.tileEvents[i].x+1,island.tileEvents[i].y,island.tileEvents[i].z);sw.log("ID="+i+" へジャンプしました");tileev_found=!0;break}else n--;tileev_found||sw.log("見つかりませんでした")};sw.weight0=function(n=false){for(i=0;i =localPlayer.inventory.containedItems.length-1;i++)localPlayer.inventory.containedItems[i].maxDur =999 (localPlayer.inventory.containedItems[i].maxDur=localPlayer.inventory.containedItems[i].type==15||localPlayer.inventory.containedItems[i].type==315||localPlayer.inventory.containedItems[i].type==490||localPlayer.inventory.containedItems[i].type==152||localPlayer.inventory.containedItems[i].type==446||localPlayer.inventory.containedItems[i].type==447?10 999),localPlayer.inventory.containedItems[i].minDur=localPlayer.inventory.containedItems[i].maxDur,localPlayer.inventory.containedItems[i].decay (localPlayer.inventory.containedItems[i].decay=9999999),localPlayer.inventory.containedItems[i].weight=0;sw.blinkColor("span21");n==!1 sw.log("鞄外の所持品重量を0に設定し、耐久を全快しました")};sw.getNPC=function(){for($("#selNPC option").remove(),i=0;i =island.npcs.length-1;i++)typeof island.npcs[i]!==undefined $("#selNPC").append($(" option ").html(island.npcs[i].renamed).val(i))};sw.getNPC();sw.moveNPC=function(){sw.tp(island.npcs[$("#selNPC").val()].x+1,island.npcs[$("#selNPC").val()].y,island.npcs[$("#selNPC").val()].z);sw.log($("#selNPC option selected").html()+"の右横へ移動しました")};sw.doodplus=function(){$("#doodskip").text(parseInt($("#doodskip").text())+1)};sw.doodminus=function(){$("#doodskip").text() 0 $("#doodskip").text(parseInt($("#doodskip").text())-1)};sw.doodreset=function(){$("#doodskip").text("0")};sw.doodCount=function(n=1){for(cnt=0,n=$("#selDoodQuality").val(),i=0;i =island.doodads.length-1;i++)island.doodads[i]!==undefined (n!=1?island.doodads[i].quality==n cnt++ cnt++);$("#doodCount").text("計"+cnt+"個")};sw.doodCount();sw.doods=function(n=-1,t=0){for(n=$("#selDoodQuality").val(),t=parseInt($("#doodskip").text()),tiledood_found=!1,i=0;i =island.doodads.length-1;i++)if(typeof island.doodads[i]!="undefined" island.doodads[i].ownerIdentifier===undefined)if(n!=1){if(island.doodads[i].quality==n)if(t =0){sw.tp(island.doodads[i].x+1,island.doodads[i].y,island.doodads[i].z);sw.log("ID="+i+" "+island.doodads[i].type+"["+sw.doodStr(island.doodads[i].type)+"]へジャンプしました");tiledood_found=!0;break}else t--}else if(t =0){sw.tp(island.doodads[i].x+1,island.doodads[i].y,island.doodads[i].z);sw.log("ID="+i+" "+island.doodads[i].type+"["+sw.doodStr(island.doodads[i].type)+"]へジャンプしました");tiledood_found=!0;break}else t--;sw.doodCount();tiledood_found||sw.log("見つかりませんでした")};sw.doodStr=function(n){return sw.doodList[n]==undefined?"==unknown==" sw.doodList[n]};sw.doodList={0 "木の扉",1 "木の柵",2 "木の壁",3 "陶器の壁",4 "砂岩の壁",5 "石の壁",6 "爆発罠",7 "落とし罠",8 "くくり罠",9 "魔物のくくり罠",10 "太陽光蒸留器",11 "木の収納箱",12 "木の収納箱(施錠)",13 "魔物の像",14 "草",15 "クレマチス",16 "アザミ",17 "マッシュルーム",18 "ベニテングダケ",19 "スイッチグラス",20 "昆布",21 "ネギ",22 "パイナップル",23 "埋まった石",24 "木苺",25 "センダン草",26 "綿花",27 "ウチワサボテン",28 "タンブルウィード",29 "石の蒸留器",30 "石の蒸留器(着火)",31 "石の焚き火セット",32 "石の焚き火セット(着火)",33 "砂岩の窯",34 "砂岩の窯(着火)",35 "石の炉",36 "石の炉(着火)",37 "木の棒(設置)",38 "木の棒(設置・着火)",39 "石の鍛冶台",40 "洞窟の入口",41 "木の扉(開)",42 "木の門",43 "木の門(開)",44 "ツタウルシ",45 "錬鉄の収納箱",46 "鉄の収納箱",47 "豪華な木の収納箱",48 "スケルトン",49 "陶器の窯",50 "陶器の窯(着火)",51 "陶器の焚き火セット",52 "陶器の焚き火セット(着火)",53 "陶器の炉",54 "陶器の炉(着火)",55 "陶器の蒸留器",56 "陶器の蒸留器(着火)",57 "砂岩の焚き火セット",58 "砂岩の焚き火セット(着火)",59 "砂岩の炉",60 "砂岩の炉(着火)",61 "砂岩の蒸留器",62 "砂岩の蒸留器(着火)",63 "石の窯",64 "石の窯(着火)",65 "錬鉄の鍛冶台",66 "鉄の鍛冶台",67 "楓の木",68 "リンゴの木",69 "トウヒの木",70 "ヒノキの木",71 "ヤシの木",72 "レタス",73 "ジャガイモ",74 "ニンジン",75 "トウモロコシ",76 "キュウリ",77 "トマト",78 "カボチャ",79 "サトウキビ",80 "小麦",81 "銅の収納箱",82 "銅の鍛冶台",83 "樹皮の松明(設置)",84 "樹皮の松明(設置・着火)",85 "獣脂の松明(設置)",86 "獣脂の松明(設置・着火)",87 "ヨシュアの木",88 "弁慶サボテン",89 "アロエ",90 "獣脂のロウソク(設置)",91 "獣脂のロウソク(設置・着火)",92 "木綿の寝具(設置)",93 "羽毛の寝具(設置)",94 "ハンモック(設置)",95 "草の寝具(設置)",96 "つなぎ柱",97 "陶器の井戸",98 "砂岩の井戸",99 "石の井戸",100 "セメントの壁",101 "トウヒの木(雪)",102 "コケモモ",103 "ウメモドキ",104 "ヒナゲシ",105 "銅の収納箱(施錠)",106 "錬鉄の収納箱(施錠)",107 "鉄の収納箱(施錠)",108 "豪華な木の収納箱(施錠)"};sw.monsList={0 "スライム",1 "スライムキューブ",2 "巨大クモ",3 "熊",4 "ウサギ",5 "ヘビ",6 "巨大ネズミ",7 "ネズミ",8 "吸血コウモリ",9 "灰色オオカミ",10 "インプ",11 "ボグリング",12 "うごく岩",13 "サメ",14 "ゾンビ",15 "スケルトン",16 "幽霊海賊",17 "高速クモ",18 "ニワトリ",19 "転移クモ",20 "炎の精霊",21 "タラ",22 "ホブゴブリン",23 "うごくキノコ",24 "巨大イカ",25 "洞窟魚",26 "ハーピー",27 "デーモン",28 "骸骨魔導士",29 "クロウワーム",30 "火竜",31 "スナネコ",32 "溶岩虫",33 "ヤギ",34 "吸血ヒル",35 "トビハゼ",36 "サソリ",37 "ガラガラヘビ",38 "カモシカウサギ",39 "キセンフエダイ",40 "ウォールアイ",41 "ウィスプ",42 "北極オオカミ",43 "北極ウサギ",44 "白熊",45 "ペンギン",46 "氷の精霊",47 "氷の魔女"};sw.colorLime="rgb(0, 255, 0)";sw.colorCyan="rgb(0, 255, 255)";sw.colorRed="rgb(255, 0, 0)";sw.blinkColor=function(n){$("#"+n).css("background-color")==sw.colorLime?$("#"+n).css("background-color",sw.colorRed) $("#"+n).css("background-color",sw.colorLime)} //以下は上のものを読み込んだ後に追加で読み込んでください、作者の環境では一度に読み込むとエラーを吐き出します //ウィンドウをマウスで動かせるようにする (function(){var elements = document.getElementsByClassName("sw_move");var x,y;for(i=0;i elements.length;i++){elements[i].addEventListener("mousedown", mdown, false);elements[i].addEventListener("touchstart", mdown, false);}function mdown(e){this.classList.add("drag");if(e.type === "mousedown"){var event=e}else{var event = e.changedTouches[0]}x=event.pageX-this.offsetLeft;y=event.pageY-this.offsetTop;document.body.addEventListener("mousemove",mmove,false);document.body.addEventListener("touchmove",mmove,false)}function mmove(e){var drag=document.getElementsByClassName("drag")[0];if(e.type === "mousemove"){var event=e}else{var event=e.changedTouches[0]}e.preventDefault();drag.style.top=event.pageY-y+"px";drag.style.left=event.pageX-x+"px";drag.addEventListener("mouseup", mup, false);document.body.addEventListener("mouseleave", mup, false);drag.addEventListener("touchend", mup, false);document.body.addEventListener("touchleave", mup, false)}function mup(e){var drag = document.getElementsByClassName("drag")[0];document.body.removeEventListener("mousemove", mmove, false);drag.removeEventListener("mouseup", mup, false);document.body.removeEventListener("touchmove", mmove, false);drag.removeEventListener("touchend", mup, false);drag.classList.remove("drag")}})() 【動作確認/v0.11f】■[DurMax]:追伸/「骨の針」の素材となった「骨の棒」に現在耐久値が下がっていたアイテムが混入した可能性ですが、一連の動作確認においてインベントリのアイテムが山になったのを切っ掛けに、現在、在庫アイテムの一斉棚卸しの真っ最中でして、前々から溜め込んでいた様々なアイテムが入った宝箱を全部ひっくり返している状態です。当然、その中には現在耐久値が下がっているモノが含まれていて、それらが動作確認中に混入した事も考えられます。今後の動作確認においてはそういった古いアイテムが混ざらないよう注意します。 -- (名無しさん) 2015-05-19 17 52 59 【動作確認/v0.11f】■[popAberrant]:先の報告からこちら、新たに発生したと思われるモンスターで通常種は見かけません(多分)。 /■[DurMax]:[popAberrant]の動作確認がてら変異種から入手したアイテムを素材にアイテム製作を行い耐久値の状況をみておりますが、今の所は現在耐久値=最大耐久値で製作されています。 -- (名無しさん) 2015-05-20 01 37 12 【要望】■[MultiCreate]:[dropAllExtend]と同様に装備中のアイテムやQSのアイテムは[MultiCreate]による連続製作の対象から除外した方が良いと思いますが如何でしょう。武器や道具として使用中のアイテムが[MultiCreate]ボタンをクリックしたら待った無しの連続製作で素材として消費されてしまうと、いざ戦闘という時に素手になっている事に気付いたり、死骸からの剥ぎ取りに必要な「尖った物」が全て消費されて「切り出し」ができなかったりと(←まあ「掘る」でも良いのですが)、少々ですが不便な点も見受けられましたので。 -- (名無しさん) 2015-05-20 01 37 39 装備品・QS除外について、dropAllと製作時では処理の方法が違うので、装備・QSを除外できるか調べてみます というか軽く製作の処理を見てみた感じ鞄の中身をスキャンしてる様子がないんだけど見落としてるんだろうか・・・ -- (スイッチの人) 2015-05-20 11 49 21 手動で1つずつアイテム製作してみるとインベントリ→装備(E)→QSの順で素材となるアイテムを消費している様ですが…実装が難しそうなら仕様上の制限という事でもかまいません。 -- (名無しさん) 2015-05-20 12 50 58 v0.11gに更新しました multiCreateの対象から装備品・QS内のものを除外しました もともと鞄に入っているものは製作対象アイテムじゃなかったというオチね -- (スイッチの人) 2015-05-20 13 39 20 【動作確認/v0.11g】■[MultiCreate] 連続製作で装備アイテムとQSアイテムが素材として使用されない事を確認しました。早速の対応有り難うございます。 -- (名無しさん) 2015-05-20 14 13 37 今modを作ってますが、技術情報の内部処理の書き換えの所が参考になって助かってます。ありがとうございます! -- (はごろもフーズ) 2015-06-23 08 34 42 行き詰まってるコトや実装の仕方についてここで質問してくれれば分かる範囲ですがこっちでも調べてみますよ -- (スイッチの人) 2015-06-24 23 13 07 匿名Modの作者です。Wayward 2.0の一般公開を確認&一通りプレイ完了してからMODを再開発したいと考えています。MODは2.0用に作り直す予定で1.9.2との互換性は考慮しません。初めに日本語対応してから匿名Mod2.0の開発に取り組むと思います。 -- (匿名) 2015-07-25 05 24 37 名前 コメント すべてのコメントを見る
https://w.atwiki.jp/mc_memo/pages/26.html
編集 冒険MOD MOD 説明 v 冒険系要素 Magic Crusade RPG mods 6種の職業、ディメンション、ステータス上昇装備などを追加する(ベットの枕にも移動可能にするゲート有り) 1.7.10(配布停止) DQMⅢNext ドラクエ系のモンスター・アイテム・職業・魔法・レベルのシステムなどのやり込み要素を追加する 1.7.10 / 1.5.2 Pokécube / Revival ポケモンを追加する、リアルタイム戦闘型 1.5.2-R1.11 Witchery 魔術要素を追加、難易度高め 1.7.10 The Betweenlands Mod 暗い湿地帯系ディメンション、モンスター、アイテム追加 β1.10.2 / 1.12.2
https://w.atwiki.jp/psmovie/pages/594.html
AT Promo 2 AT Promo 2 主催:AT 編集:Grax 公開日:2017.2.25 JEBページ DLリンク 出演者
https://w.atwiki.jp/gtafreedom/pages/17.html
MODとは? MOD(モッド,Modification)とは、主にパーソナルコンピュータ用ゲームソフトの簡易拡張パックのこと。 改造データと称される事もある。wiki抜粋 MODを導入することによって、そのゲームソフトのグラフィックエンジン、物理エンジンなどの基本システムを用いて、 本編とは別のシナリオやグラフィック、モデル、システムのゲームを楽しむことができる。 ファーストパーソン・シューティングゲーム(FPS)やリアルタイムストラテジー(RTS)等のジャンルに存在する。 もともとは、よりリアルな銃器・迷彩パターン・銃声・砲声を得ることを目的に、ファイルの差し替えから始まったが、 現在ではゲーム側でも、最初からMODも適用できることを前提とした作りになってきている。 たとえばQuakeIIIやQuake4はメニュー画面に既にMODの項目が存在する、 Half-LifeエンジンやSourceエンジンで動くMODはSteamを通してダウンロードできるなど。wiki抜粋 とまあこのような感じですね。MODを入れるだけなら手順だけ知ってれば問題ないので覚えなくていいです。